一、使用ADO连接数据库的步骤
1、导入动态链接库,并使用命名空间。
添加后需要点击重新生成才能使编译不出错。
#import "C:\program Files\common Files\system\ado\msado15.dll" no_namespace rename ("EOF","adoEOF")
2、初始化ADO:
在MFC中初始化函数
::CoInitialize(NULL);·
在C++中初始化函数
::AfxOleInit();
3、添加变量
_ConnectionPtr m_pConnection; //连接对象
_RecordsetPtr m_pRecordset; //记录对象
4、连接数据库
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr)){
_bstr_t strConnect = "Provider=SQLOLEDB.1;Server=127.0.0.1;Database=DBMain; uid=sa; pwd=luster";
hr = m_pConnection->Open( strConnect,
"","",adModeUnknown);
}
if(m_pConnection->State){
AfxMessageBox("连接数据库");
}
else{
AfxMessageBox("失败");
}
}
catch (_com_error* e)
{
AfxMessageBox("一个异常");
}
6、数据集的操作
//获取数据
m_pRecordset ->GetCollect("列表名");
//插入数据
m_pRecordset ->AddNew();
m_pRecordset ->PutCollect("列表名",_variant_t(变量));
...
m_pRecordset ->Update();
//删除数据
m_pRecordSet->Delete(AdAffectCurrent);
m_pRecordset ->Update();
//查询数据库
m_pRecordset->Open("SELECT * FROM 表名", _variant_t(IDispatch*)m_pConnection, true),adOpenStatic,adLockOptimistic,adCmdText);
7、关闭数据
m_pConnection->Close();
二、ADO(ActiveX Data Objects)模型
即ActiveX数据对象,封装了OLE DB的ActiveX控件。