C++数据库连接代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

if(CoInitialize(NULL)!=0) //CoInitialize()初始化com库
{
AfxMessageBox("初始化com支持库失败!");
exit(1);

}
_ConnectionPtr m_pConn(__uuidof(Connection));//uuidof前面的下划线有两个
_RecordsetPtr pRet(__uuidof(Recordset));
try
{
m_pConn.CreateInstance("ADODB.Connection");
m_pConn->Open("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Demo","Admin","",adModeUnknown);

}
catch(_com_error e)
{
AfxMessageBox(e.Description());

}
/*
//第一种方法
pRet = m_pConn->Execute("select * from st_profiles",NULL,adCmdText); //adCmdText:转换成文本形式
while(!pRet->adoEOF)
{
CListBox* p = (CListBox*)GetDlgItem(IDC_LIST1);
p->AddString((_bstr_t)pRet->GetCollect("sno"));//提取信息
CListBox* pp = (CListBox*)GetDlgItem(IDC_LIST2);
pp->AddString((_bstr_t)pRet->GetCollect("sname"));//提取信息
pRet->MoveNext();

}
pRet->Close();
m_pConn->Close();
CoUninitialize();
*/
/*
//第二种方法
pRet->Open("select * from st_profiles",_variant_t((IDispatch*)m_pConn),adOpenDynamic,adLockOptimistic,adCmdText);
while(!pRet->adoEOF)
{
CListBox* p = (CListBox*)GetDlgItem(IDC_LIST1);
p->AddString((_bstr_t)pRet->GetCollect("sno"));//提取信息
CListBox* pp = (CListBox*)GetDlgItem(IDC_LIST2);
pp->AddString((_bstr_t)pRet->GetCollect("sname"));//提取信息

pRet->MoveNext();


}
pRet->Close();
m_pConn->Close();
CoUninitialize();
*/

//第三种方法
_CommandPtr pCmd(__uuidof(Command));
pCmd->put_ActiveConnection(_variant_t((IDispatch*)m_pConn));
pCmd->CommandText="select * from st_profiles";
pRet=pCmd->Execute(NULL,NULL,adCmdText);
while(!pRet->adoEOF)
{
CListBox* p = (CListBox*)GetDlgItem(IDC_LIST1);
p->AddString((_bstr_t)pRet->GetCollect("sno"));//提取信息
CListBox* pp = (CListBox*)GetDlgItem(IDC_LIST2);
pp->AddString((_bstr_t)pRet->GetCollect("sname"));//提取信息

pRet->MoveNext();


}
pRet->Close();
m_pConn->Close();
CoUninitialize();
}

相关文档
最新文档