一个简单的问题:Query.close

StarRains 2001-10-18 11:35:23
环境:Win98+Delphi5+SQL Server2000
delphi代码:
...
Query1.close;
Query1.Sql.clear;
Query1.Sql.add('select * from table');
Query1。Open;
if not Query1.ISEmpt then
Query1.first;
while not Query1.Eof do
begin
dosomething;
...
Next ;
end;
Query1.Close;
...

在Query.close时,delphi提示错误:
Enther BOF of EOF is True,or the Current record been deleted,Requested option requires a current record.

delphi5已经安装ADO补丁,
本程序在数据库为Sql Server7.0 中并无错误。
请诸位大侠指教。
...全文
191 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
truezerg 2001-10-19
  • 打赏
  • 举报
回复
这两句是多余的:
if not Query1.ISEmpt then
Query1.first;
StarRains 2001-10-19
  • 打赏
  • 举报
回复
没找到ADO update2 问题还没有解决
StarRains 2001-10-19
  • 打赏
  • 举报
回复
是否与没有SQL server2000 的pack包有关?
StarRains 2001-10-19
  • 打赏
  • 举报
回复
不管前两句多余与否,对于空表还是在close时出错!
StarRains 2001-10-18
  • 打赏
  • 举报
回复
表中有记录时,如果BOF或EOF有一个值为True(即Cursor没有定位到某条记录上)时,Close即会出现所说错误,表中没有记录时,肯定会出错。 我不清楚为什么相同的代码与环境用SQL Server7数据库就不出错?
与delphi5 、Sql server的补丁有关吗?我的Delphi5只安装了一个ADO补丁程序,不知是否还有其他的补丁。
snjun 2001-10-18
  • 打赏
  • 举报
回复
你是表中是不是没有记录
lldwolf 2001-10-18
  • 打赏
  • 举报
回复
close没错的
poleax 2001-10-18
  • 打赏
  • 举报
回复
应该不是query1.close的错,你再仔细检查.
寒星 2001-10-18
  • 打赏
  • 举报
回复
我这里是对的呀。
bigysw 2001-10-18
  • 打赏
  • 举报
回复
还有,在 AfterOpen 中又干了什么没有??
bigysw 2001-10-18
  • 打赏
  • 举报
回复
不知你做了什么 DoSomething,其他的正常!
davin_zhang 2001-10-18
  • 打赏
  • 举报
回复
把if not Query1.ISEmpt then Query1.first;去掉﹐本來就是多余的﹐其它應該是沒有問題的.
wgjsoft 2001-10-18
  • 打赏
  • 举报
回复
这个问题我也遇到过!装上Ado的包就没事,在delphi6中就没事
StarRains 2001-10-18
  • 打赏
  • 举报
回复
哪有Ado Update 2 下载,先谢了!
问题解决一定送分,还可以多加!
arthurwww 2001-10-18
  • 打赏
  • 举报
回复
Ado Update 2 才解决这个问题
ado update 1解决不了这个问题
cobi 2001-10-18
  • 打赏
  • 举报
回复
gz

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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