以前数据库应用一直用ODBC,后来听说ADO应用比较广泛一些,最近有机会学习了一下ADO,感觉应用起来比ODBC还是方便一些,下面说下应用ADO的基本步骤:
1. 将 adodatabase.h 和 adodatabase.cpp添加到工程中去(这两个文件在我邮箱里)
--------------------------------
2. 将:
#import "C:/program files/common files/System/ado/msado15.dll" no_namespace /
rename("EOF","adoEOF") /
rename("LockTypeEnum","newLockTypeEnum")/
rename("DataTypeEnum","newDataTypeEnum")/
rename("FieldAttributeEnum","newFieldAttributeEnum")/
rename("EditModeEnum","newEditModeEnum")/
rename("RecordStatusEnum","newRecordStatusEnum")/
rename("ParameterDirectionEnum","newParameterDirectionEnum")
添加到stdafx.h中去。
-----------------------------------
3. 在 App::InitInstance() 中初始化OLE环境:
if (!AfxOleInit())
{
AfxMessageBox("Ole 初始化库失败!");
return FALSE;
}
-----------------------------------
4. 定义数据库对象
CADODatabase db;
_RecordsetPtr pRst;
-----------------------------------
5.连接数据库:
db.Open("(local)","Zyoc_","sa","")//地址,数据库名,用户名,密码
-----------------------------------
6.从数据库中提取符合条件的数据:
db.GetRecordsetForward(pRst,"select * from Cards")
------------------------------------
7.应用数据:
CString m_strID = db.GetFieldValue(pRst,"id");
AfxMessageBox(str);
_variant_t vt;
vt = pRst->GetCollect("id");
int cid = vt.lVal;
CString str;
str.Format("card ID is: %d",cid);
AfxMessageBox(str);
-----------------------------------
8.关闭数据库:
pRst->Close();
===========================================