我在用ADOQuery控件访问数据库时,遇到一个问题:当返回数据集为空时出错。
我用的方法是:
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(SQL_String);
ADOQuery1->Open();
使用DataSource控件,并把数据集传到Data Control控件显示。
在通常情况下正常显示,但当返回数据为空时,弹出出错窗口,信息如下:Project raised exception class E0leException with message 'BOF 或 EOF中有一个是”真“,或者当前的记录已被删除,所需的操作要求一个当前的记录。‘。Process stopped.
我设置断点并对ADOQuery1->EoF进行观察,发现仅当执行“ADOQuery1->Open();”一句时Eof就变为true,
同时出错。我该如何避免此错误?
---------------------------------------------------------------
这是老错误了,原因只有一个就是你的ADO没有升级!
到www.borland.com去下载BCB和ADO的补丁就OK了!
------------------------------------------------------------------
http://www.borland.com/devsupport/bcppbuilder/index.html
http://www.borland.com/devsupport/bcppbuilder/patches/#cbuilder5