**************各位高手请帮帮忙!小弟在此感激涕零!**************

jerry_yinjian 2001-02-22 04:25: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.
我该怎么办? :(
...全文
212 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerry_yinjian 2001-02-23
  • 打赏
  • 举报
回复
经过这次教训,我暂时不会用ADO了,还是BDE稳定些!

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

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

希望下BCB6.0有所改进 :)
Wingsun 2001-02-23
  • 打赏
  • 举报
回复
这只是我的猜测:
可能是你的ADOQuery1控件是不是在设计的时候已经添加了某一个Key字段,但是当你使用这个语句时却没有这个字段存在,就发生了错误.
要不你重新用一个ADOQuery来执行它,ADOQuery重新生成.
jerry_yinjian 2001-02-23
  • 打赏
  • 举报
回复
TO:Wingsun(孙春阳)老兄
我试了你的建议,还是不行,如果找不到好的方法,我只好改用BDE了,ADO真是害死我了!! :( :(
狐帝 2001-02-22
  • 打赏
  • 举报
回复
用try{}catch(...){}结构
jerry_yinjian 2001-02-22
  • 打赏
  • 举报
回复
******************************************
如何能截获这个错误,不让它显示出来?
******************************************
jerry_yinjian 2001-02-22
  • 打赏
  • 举报
回复
执行后错误信息如下:
Project test.exe raised exception class EOleException with message 'Key value for this row was changed or deleted at the data store. The Local row is now deleted", Process stopped.
jerry_yinjian 2001-02-22
  • 打赏
  • 举报
回复
帮帮忙!:)
jerry_yinjian 2001-02-22
  • 打赏
  • 举报
回复
TO: yao_yuan(逍遥子) 
用Active和用Open、Close的效果一样 :(
yao_yuan 2001-02-22
  • 打赏
  • 举报
回复
试试Active属性,可以用它作判断,或者代替Close
this->adoquery1->Active = false;
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->Active = true;

13,870

社区成员

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

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