用ADO QUERY执行查询的烦恼!!!!!!

jerry_yinjian 2001-02-22 03:46:00
用ADO QUERY执行查询,代码如下:

void __fastcall Tfm_ycdpl_search::bt_searchClick(TObject *Sender)
{
this->adoquery1->Close();
this->adoquery1->SQL->Clear();
this->adoquery1->SQL->Add("SELECT *");
this->adoquery1->SQL->Add(" FROM yshdpl");
this->adoquery1->SQL->Add(" WHERE mdmarketname = '" + cmb_yshm->Text + "'");
this->adoquery1->Open();
}

当执行查询未找到符合条件的记录时,再次调用bt_searchClick当执行到this->adoquery1->Close();时,总是报错说requires a current record.
我该怎么办? :(
...全文
161 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerry_yinjian 2001-07-04
  • 打赏
  • 举报
回复
给分 :)
夭夭 2001-05-18
  • 打赏
  • 举报
回复
我也用的呀,我的程序一直不会出错.
bcb5.0;win2000
ciml 2001-05-18
  • 打赏
  • 举报
回复
哪儿下补丁
wjzhuang 2001-05-18
  • 打赏
  • 举报
回复
学习!
luhongjun 2001-05-18
  • 打赏
  • 举报
回复
dr80(普通人)的回答
这个问题我刚刚自己解决了,如果这个记录集是空的话。
在执行m_query->Close()前加一句
m_query->Recordset->Close()就OK了。
但是为什么要这么做,我不太清楚。

luhongjun 2001-05-18
  • 打赏
  • 举报
回复
的确是有这个问题
请下载ADO补丁。
「已注销」 2001-05-18
  • 打赏
  • 举报
回复
不会吧



大家快来……



我刚学呢
jerry_yinjian 2001-02-23
  • 打赏
  • 举报
回复
经过这次教训,我暂时不会用ADO了,还是BDE稳定些!

大家在用ADO的时候要小心取不到记录的情况,在这种情况下,ADO无法CLOSE,由于无法CLOSE又导致无法使用SQL->CLEAR(),也就不能进行新的查询,小心小心!!

我为此浪费了一天半的宝贵时间 :(

希望下BCB6.0有所改进 :)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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