int i = dlg->m_pRecordset->GetRecordCount();
if (dlg->m_pRecordset->GetRecordCount() != 0) //表中有记录
{
try{
dlg->v_Team_no = dlg->m_pRecordset->GetCollect("Team_no");
dlg->v_Team_Cname = dlg->m_pRecordset->GetCollect("Team_Cname");
dlg->v_Team_home = dlg->m_pRecordset->GetCollect("Team_home");
dlg->v_Team_coach = dlg->m_pRecordset->GetCollect("Team_coach");
}
catch (_com_error& e)
{
AfxMessageBox(e.Description());
}
nItem=dlg->m_userlist.InsertItem(0xffff,(_bstr_t)dlg->v_Team_no);
dlg->m_userlist.SetItem(nItem,1,1,(_bstr_t)dlg->v_Team_Cname,NULL,0,0,0);
dlg->m_userlist.SetItem(nItem,2,1,(_bstr_t)dlg->v_Team_home,NULL,0,0,0);
dlg->m_userlist.SetItem(nItem,3,1,(_bstr_t)dlg->v_Team_coach,NULL,0,0,0);
dlg->m_pRecordset->MoveNext();
}
{
AfxMessageBox("没有查找到该队伍的信息!");
return;
}
这是我的代码,因为查询的是char类型的,sql语句是查询为'T001',语句在sql server里面可以查询得到结果,但是在mfc里面就报错,检测结果说是BOF或者EOF中有一个是真,或者该条记录已经删除,但是用调试可以看到i是21说明记录集里面应该是有21条记录的,不为空呀。
但是调试执行到dlg->v_Team_no = dlg->m_pRecordset->GetCollect("Team_no");这个语句就报错了。
求问是为什么呀
如果是sql语句问题,我把这个语句复制到sqlserver里面,在sql server里面应该也不能查询呀,但结果是可以查询。