adoquery查询结果为0时出错???

wsy751022151 2003-12-18 11:39:49
用adoquery查询,结果为0时,即找不到记录时,会出错,是怎么回事,会找到记录时不会错,程序如下:
win2000,delphi5,mssql 2000数据库,

Querystr:='select * from sjdn where 司机姓名='''+'小吴'+'''';
ADOQuery1.close;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add(Querystr);
ADOQuery1.open;
找不到记录第一次运行不会错,再运行一次,就报错,"eof or bof..."
是什么原因,程序要怎么写代码??解决马上给分.
...全文
35 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnhb 2003-12-20
  • 打赏
  • 举报
回复
没注意你是用的D5
下一个新版的mdac_typ试试
hnhb 2003-12-20
  • 打赏
  • 举报
回复
Open后再加一句
if AdoQuery1.IsEmpty then
....
else
...
bagayv 2003-12-20
  • 打赏
  • 举报
回复
应该不可能的。再试看!
wsy751022151 2003-12-20
  • 打赏
  • 举报
回复
打上Ado 补丁后还是不能用,是不是delphi5对ado不支持呀,
FlystarColl 2003-12-18
  • 打赏
  • 举报
回复
如果这个错误出现是在你打包之前的执行时的话,是很正常的。你不妨编译成可执行文件后,执行可执行文件看看是否还出现类似错误,如果有可能就是你其他的程序有错误。DELPHI 在编译过程中的出错有时只是一个提示作用,当执行可执行文件时就没有出错了。
nxfbccu 2003-12-18
  • 打赏
  • 举报
回复
打delphi5 Ado补丁即可
hiflower 2003-12-18
  • 打赏
  • 举报
回复
检查 ADOQuery1 的各个事件中有什么代码
检查与 ADOQuery1 关联的组件的各个事件有什么代码
wsy751022151 2003-12-18
  • 打赏
  • 举报
回复
提示出错,either bof or fof is true,or the current record has been deleted requested operation requires a current record.

我没进行其它操作,只是点两下按纽,即执行Querystr:='select * from sjdn where 司机姓名='''+'小吴'+'''';
ADOQuery1.close;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add(Querystr);
ADOQuery1.open;
两次,第一次不会出错,第二次出错,如果有找到记录也不会出错。
angle097113 2003-12-18
  • 打赏
  • 举报
回复
这些代码确实看不出有什么问题得
是不是还涉及倒了其他得代码或者有其他得db控件得连接啊
myboor 2003-12-18
  • 打赏
  • 举报
回复
没问题呀,估计是后续处理有误
zhangheaaa 2003-12-18
  • 打赏
  • 举报
回复
这段代码没问题,估计是其他的代码所做的处理,检查一下其他的代码有没有做什么处理。
更据出错的信息,好象是该表中数据为空导致的错误,
可以在此表中输入几条数据,来试一下。
bluz 2003-12-18
  • 打赏
  • 举报
回复
打开后是不是有其他的数据操作?
wsy751022151 2003-12-18
  • 打赏
  • 举报
回复
Ado 补丁怎么打,在哪里可以下载呀??
Mr_Bean 2003-12-18
  • 打赏
  • 举报
回复
ado存在bof eof的问题,升级delphi的ado驱动就行了
大地精灵 2003-12-18
  • 打赏
  • 举报
回复
这段代码是没有问题,你可以看一下与ADOQuery相连的和它本身有没有事件里面出现了错误
carson1978 2003-12-18
  • 打赏
  • 举报
回复
Ado 补丁的问题!

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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