数据库查询 报错 bof或者eof中有一个是真,或者当前的纪录已被删除,所需的操作要求一个当前的纪录

yinyuan123456 2013-04-24 04:28:21
写了一个MFC程序
第一次查询数据库,获得数据,显示到界面上,
然后开辟一个线程对选取的数据进行封装然后传送,传送成功,线程结束时,
在该线程内获取当前MFC界面句柄,调用该句柄内的查询数据库函数,
重新查询数据时就会报错: bof或者eof中有一个是真,或者当前的纪录已被删除,所需的操作要求一个当前的纪录
查询到的数据记录不完整
有时候直接就查询不到数据
void CCertSync::CertsyncQuery()
{
m_CertList.EnableWindow(TRUE);
m_Sync.EnableWindow(TRUE);
m_CertList.EnableWindow(TRUE);
m_Query.EnableWindow(TRUE);
//m_CertList.DeleteAllItems();
SetDlgItemText(IDC_CERTSYNC_TOTALCOUNT, "");
if (CADB.QueryUnSyncCertsManul() == RESULT_SUCCESS)
{
int index = 0;
m_CertList.DeleteAllItems();
try {
while(!CADB.pRst->adoEOF)
{
index = m_CertList.GetItemCount();
m_CertList.InsertItem(index, "");
strtmp.Format("%d", index + 1);
m_CertList.SetItemText(index, 1, strtmp);
strtmp.Format((_bstr_t)CADB.pRst->GetCollect("CertSN"));
m_CertList.SetItemText(index, 2, strtmp);
CADB.tmp = CADB.pRst->GetCollect("CertStatus");
strtmp = IntToString(TRANSFORM_TYPE_USERCERTSTATUS,CADB.tmp.intVal);
m_CertList.SetItemText(index, 3, strtmp);
CADB.pRst->MoveNext();
}
}
catch(_com_error &e)
{
MessageBox(e.Description(), "数据库异常", MB_OK);
}
CADB.tmp = CADB.ptmpRst->GetCollect("CertCount");
m_TotalCount = CADB.tmp.intVal;
CString total;
total.Format("%d",m_TotalCount);
SetDlgItemText(IDC_CERTSYNC_TOTALCOUNT, total);
//UpdateData(FALSE);
}


int CDB::QueryUnSyncCertsManul()
{
CString strRecordCount;
strCommand = "SELECT TOP 200 * FROM V_UserCertsSync";
strRecordCount = "SELECT COUNT(*) AS CertCount FROM V_UserCertsSync";

try
{
pRst = pConn->Execute((_bstr_t)strCommand, NULL, adCmdText);
ptmpRst = pConn->Execute((_bstr_t)strRecordCount, NULL, adCmdText);
}
catch(_com_error &e)
{
if (SHOW_DB_EXCEPTION)
{
MessageBox(e.Description(), "数据库异常", MB_OK);
}
return RESULT_DB_FAILURE;
}

return RESULT_SUCCESS;
}

...全文
473 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-07-03
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
yinyuan123456 2013-05-02
  • 打赏
  • 举报
回复
没人回答吗 跪求各位大神
yinyuan123456 2013-04-24
  • 打赏
  • 举报
回复
有时候还会报这样的错误
yinyuan123456 2013-04-24
  • 打赏
  • 举报
回复
有时候几次执行都没有这种报错,有时候每次都报这样的错误
微尘8 2013-04-24
  • 打赏
  • 举报
回复
仔细检查一下你的SQL语句,90%是SQL语句(或者逻辑)有错误,我碰过类似问题,就是SQL语句(加上逻辑后)出错导致的
yinyuan123456 2013-04-24
  • 打赏
  • 举报
回复
有时候查询不到数据
yinyuan123456 2013-04-24
  • 打赏
  • 举报
回复

点击确定 明明还有462条数据 只显示31条 如图

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧