以前數據庫應用一直用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();
===========================================