日期:2014-05-17  浏览次数:20559 次

vc6+ado+listcontrol,不能显示数据,请大神们看下
本帖最后由 qazw_12345 于 2013-01-30 21:06:01 编辑

小弟用 vc6+ado+listcontrol+SQLSERVER 编程执行没发现错误,直接在查询分析器中SQL查询正常。但是listcontrol就是不能显示数据,我单步DEBUG也没发现错误.真地麻烦大神们了。。。
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
//_CommandPtr pCmd(__uuidof(Command));

            
try
{
                    pConn->ConnectionString="Provider=SQLOLEDB.1;Password=aaaaaa;Persist Security Info=True;User ID=sa;Initial Catalog=forebase;Data Source=127.0.0.1";

pConn->Open("","","",adConnectUnspecified);
}
catch(_com_error e) //捕捉异常
{

return FALSE;
}


try
{

pRst=pConn->Execute("select * from forebase where 籍贯='赵' or 所在地域='王' or 专业='马' or 科目='牛' or 等级='胡' or 状态='黄'",NULL,adCmdText);

}
catch (_com_error e)
{


return FALSE;

}


try
{
int i=0;
while(!pRst->rsEOF)
{

m_l.SetItemText(i,0,(LPCTSTR)(_bstr_t)pRst->GetCollect("姓名"));
m_l.SetItemText(i,1,(LPCTSTR)(_bstr_t)pRst->GetCollect("籍贯"));
m_l.SetItemText(i,2,(LPCTSTR)(_bstr_t)pRst->GetCollect("所在地域"));
m_l.SetItemText(i,3,(LPCTSTR)(_bstr_t)pRst->GetCollect("专业"));
m_l.SetItemText(i,4,(LPCTSTR)(_bstr_t)pRst->GetCollect("科目"));
m_l.SetItemText(i,5,(LPCTSTR)(_bstr_t)pRst->GetCollect("等级"));
m_l.SetItemText(i,6,(LPCTSTR)(_bstr_t)pRst->GetCollect("状态"));

i++;
pRst->MoveNext();
}


}

catch (_com_error e)
{

return FALSE;

}

pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
CoUninitialize();

------解决方案--------------------
连接字符串没有问题,一步一步debug一下吧,首先看看select 后pRst中有没有数据。