“无法更新行集定位:一些值可能已在最后读取后改变”帮帮我,把这个错误kill掉。

rzg 2003-04-23 04:23:59
“无法更新行集定位:一些值可能已在最后读取后改变”当我使用ADOQuery的批处理模式
操作SQL Server2000数据库中的数据表记录时,尤其是在添加数据的时候出现这个提示信息,
我怎么解决掉啊。下面是环境说明:
1、Delphi6+ADO+MS SQL Server2000
2、创建Table_01
Create table Table_Master
(
ID nchar(20),Primary key not null,
dDate datetime default getDate(),
OtherField char(20)
)
Create table Table_Detail
(
ID nchar(20),Primary key not null,
nGdsCode char(20),primary key not null,
dDate datetime default getDate(),
OtherField char(20)
)
在Table_Master上创建after触发器,当添加、修改数据的时候,把Table_Master中的数据
保存到另外一个数据表中。
3、然后用两个ADOQuery读取主从表数据。
4、用批处理方式保存修改、或者添加后的数据。
5!!!!!-〉出现上面错误提示。需要注意的是,我已经创建主键,但是
为什么还有这样的错误阿。
...全文
50 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
heixiu1980 2003-04-23
  • 打赏
  • 举报
回复
当数据在其他地方被修改,而当前的数据集没有刷新时,就会出现这种问题,
建议方法:
1.如果可能的话,在操作之前刷新一下,
Query.Close;
Query.Open;
2.改用Update、Insert、Delete语句执行。
blueshu 2003-04-23
  • 打赏
  • 举报
回复
用语句保存,不用数据源试试
如query.sql.('update table set zd1='2'');
WWWWA 2003-04-23
  • 打赏
  • 举报
回复
好象是ado的BUG。
lincanwen 2003-04-23
  • 打赏
  • 举报
回复
你有些数据改了2次就会出现这个错误,比如,你取出的数据是:
id , value
1 aaa
第一次改后是
id,value
2 bbb
如果你再改时就会出现上面的提示错误。

2,507

社区成员

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

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