用SQL清空数据库后,再写入数据时出现‘无法为更新行集定位,一些值可能在最后读取后改变”的问题(100分)

  • 主题发起人 主题发起人 ygmxss
  • 开始时间 开始时间
Y

ygmxss

Unregistered / Unconfirmed
GUEST, unregistred user!
用SQL清空数据库后,再写入数据时出现‘无法为更新行集定位,
一些值可能在最后读取后改变”的问题怎样解决
 
post
active:=false;
close
 
你使用d5,ado吧?
升级sp or use d6
 
我也遇到同样的问题,
升级sp or use d6 ?
 
我也遇到这样的问题!不知是怎么回事?

 
因为设置了默认值,在onnewrecord里把默认值加上
 
用SQl改变数据库中的记录后,对应的数据集应该刷新一下
theTable.refresh;
或者:
theTable.close;
theTable.open;

我遇到过这样的问题,就是这么解决的。
 
升级ADO
建主键
 
我也遇到过,而且不仅仅是在完全删除,知道对某个记录修改都有可能产生这样的报错。记得当时确实如followindy一样解决,但遇到一个麻烦,就是每次刷新都会使数据集从新打开,记录指针跳到开头,我又得从新寻找刚才修改或删除的位置!记录多时,这可是个灾难!有什么好的解决办法?
 
检查一下你的表有没有使用触发器,这个错误一般是由于触发器不正确地更新了数据造成的。
 
应该重新刷新一下数据,要不你可以想象一下,有一个客户端将所有数据读到他那儿,
你在这边又将表中的数据全删除了,若此时那个客户端想保存数据,服务器该怎么做
呢?换一下角度,你也可以在出错时,对出错的行进行记录,然后对出错的行进行单独
处理,这是可能的...
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部