按照孙鑫老师的Lesson20,做了个ADO连接数据库,结果runtime error。
按照别人的帖子进行修改倒编译过了,能运行,结果点击查询毫无反应,希望有经验的人事可以帮帮忙,本人新手,谢谢了。
代码:void CAdoDlg::OnBtnQuery()
{
try
{
_ConnectionPtr pConn;
pConn.CreateInstance("Connection");
_RecordsetPtr pRst;
pRst.CreateInstance("ADODB.Recordset");
CString strText="Provider=SQLOLEDB.1;Password=zhouzhi;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=ZZ";
pConn->Open((_bstr_t)strText, "", "", adConnectUnspecified);pRst=pConn->Execute("select * from authors",NULL,adCmdText);
while(!pRst->rsEOF)
{
((CListBox*)(GetDlgItem(IDC_LIST1)))->AddString(
(_bstr_t)pRst->GetCollect("au_lname"));
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
CoUninitialize(); }
catch(_com_error e)
{
CString str = e.ErrorMessage();
TRACE(str);
}
}
谁能告诉我下,是哪里有问题,谢谢了。
按照别人的帖子进行修改倒编译过了,能运行,结果点击查询毫无反应,希望有经验的人事可以帮帮忙,本人新手,谢谢了。
代码:void CAdoDlg::OnBtnQuery()
{
try
{
_ConnectionPtr pConn;
pConn.CreateInstance("Connection");
_RecordsetPtr pRst;
pRst.CreateInstance("ADODB.Recordset");
CString strText="Provider=SQLOLEDB.1;Password=zhouzhi;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=ZZ";
pConn->Open((_bstr_t)strText, "", "", adConnectUnspecified);pRst=pConn->Execute("select * from authors",NULL,adCmdText);
while(!pRst->rsEOF)
{
((CListBox*)(GetDlgItem(IDC_LIST1)))->AddString(
(_bstr_t)pRst->GetCollect("au_lname"));
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
CoUninitialize(); }
catch(_com_error e)
{
CString str = e.ErrorMessage();
TRACE(str);
}
}
谁能告诉我下,是哪里有问题,谢谢了。
你可以对照着看看
http://topic.csdn.net/u/20100429/11/a1a68cd2-d942-4f6b-b387-69a130ec5888.html?68867
{
//就是程序运行到循环里面没有
((CListBox*)(GetDlgItem(IDC_LIST1)))->AddString((_bstr_t)pRst->GetCollect("au_lname"));
pRst->MoveNext();
}