1:在StaAfx.h 中添加如下代码 #import "C://Program Files//Common Files //System//ado//msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")
2:在BOOL CXXXApp::InitInstance()中初始化COM环境
::CoInitialize(NULL);
释放COM环境
::CoUninitialize();
3:在CXXXApp头文件中定义两个智能指针public
指向Recordset对象的指针
_RecordsetPtr m_pRecordset;
指向Connection对象的指针
_ConnectionPtr m_pConnection;
4:在void CXXXApp::OnInitADOConn()
{
//用于全局变量调用连接数据库
try
{
//创建连接对象实例
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串
CString strConnect="DRIVER={Microsoft Access Driver/ (*.mdb)};uid=;pwd=;DBQ=canyin.mdb;";
//使用open方法连接数据库
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
CString temp;
temp.Format("连接数据库错误信息:%s",e.ErrorMessage());
::MessageBox(NULL,temp,"提示信息",NULL);
}
}
5:void CXXXApp::ExitConnect()
{
//用于全局变量调用关闭数据库
//关闭记录集
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close;
}
5:
<1> //打开数据库连接
OnInitADOConn();
1) //创建连接对象实例
m_pConnection.CreateInstance("ADODB.Connection");
2) //设置连接字符串
CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=;DBQ=canyin.mdb;";
3) //使用Open方法连接数据库
m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
<2> //设置查询字符串
_bstr_t sql;
sql="select Uname,Upasswd from Login";
<3> //创建记录集指针对象实例
m_pRecordset.CreateInstance(__uuidof(Recordset));
<4> //打开记录集
m_pRecordset->Open(sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
<5> //遍历数据库
while(m_pRecordset->adoEOF==0)
{
UpdateData(); //用于编辑框关联变量值的初始化
m_Name=(char*)(_bstr_t)m_pRecordset->GetCollect("Uname");
m_Pwd=(char*)(_bstr_t)m_pRecordset->GetCollect("Upasswd");
m_pRecordset->MoveNext();
}
*6:
一定要把数据库文件放在程序的根目录下
作者:biolee 于 09.11.23 整理汇总 于10.5.30发表