第一:在stdafx.h中导入动态链接库
#import "C:\\Program Files\\Common Files\\System\\ado\\msado15.dll" no_namespace rename("EOF","adoEOF")
添加时注意放到文件的最后,否则会出错
第二:
在app文件中添加变量
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRs;
第三:
在app的InitInstance()添加如下代码:
AfxOleInit();
::CoInitialize(NULL);
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionTimeout=3;
// hr=m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=canyin.accdb","","",adModeUnknown);
hr=m_pConnection->Open("Provider=Microsoft.Ace.Oledb.12.0;Data Source=D:\\canyin.accdb","","",adModeUnknown); //ACCESS2010使用的
}
}
catch (_com_error e)
{
CString temp;
temp.Format("连接数据库错误信息:%s",e.ErrorMessage());
::MessageBox(NULL,temp,"提示信息",NULL);
return false;
}
}
需要注意的一个地方是:access2010跟access2000有一个地方不一样,2010使用的是Provider=Microsoft.Ace.Oledb.12.0
另一个地方是Data Source=D:\\canyin.accdb,canyin.accdb为数据库文件的名字,需要放在D盘的目录下,这样才能与data source的地址对应起来