第一步,在StdAfx.h包括一句以下代码
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace \
rename("EOF","adoEOF")rename("BOF","adoBOF")
第二步,声明两个变变量连接与记录集的变量
1
_ConnectionPtr m_pConnection;
2
_RecordsetPtr m_pRecordset;
第三步,创建一方法来连接数据库
1
strName.Format("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=%s;Data Source=.",strsjk); //strsjk数据库名
2
try
3![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
4
m_pConnection.CreateInstance("ADODB.Connection");
5
_bstr_t strConnect=strName;
6
m_pConnection->Open(strConnect,"","",adModeUnknown);
7
}
8
catch(_com_error e)
9![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
10
AfxMessageBox(e.Description());
11
}
第四步,创建一方法断开连接数据库
1
if(m_pRecordset !=NULL)
2
m_pRecordset->Close();
3
m_pConnection->Close();
第五步,访问数据
1
OnInitADOConn(str);
2
_bstr_t bsqlStr;
3
bsqlStr = "select * From sysobjects where xtype='U'";
4
CString strText;
5
m_pRecordset.CreateInstance(__uuidof(Recordset));
6
m_pRecordset->Open(bsqlStr,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
7
while(!m_pRecordset->adoEOF)
8![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
9
strText=(char*)(_bstr_t)m_pRecordset->GetCollect("name");
10
m_List.AddString(strText);
11
m_pRecordset->MoveNext();
12
}
13
ExitConnect();