这个错误如何解决:"无法为更新定位行,一些值可能已在最后一次读取后已更改" 我用了IP4000里面的RzDBNavigator组件,如果我添加一条新记录并保存后,然后修改或删除该任何一条记录都报错:"无法为更新定位行,一些值可能已在最后一次读取后已更改"请问这个错误如何解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考:http://www.china-askpro.com/msg43/qa11.shtml To TechnoFantasy(冰儿马甲www.applevb.com) 空页面 呵呵!打开了,可解决方法不行,因为我没写一行代码,都是通过RzDBNavigator组件来完成了. 这就是懒办法导致的结果,我从来都是一句一句写SQL语句的,决不会出现这种问题。 我也遇见过这样的问题,当时很郁闷,后来才发现:你要操作的Query里面没有查询出来结果,原因:1、QUERY没有打开。2、打开了,没有取出来值。 在添加记录前,加QUERY.CLOSE;QUERY.OPEN; 1\有的字段设置为不允许空,但是你没有赋值就会出现这样的情况。2\又重复纪录3、 ado版本低,只有98才会出现这种情况。一般就是3个原因,我碰到过很多次,仔细检查代码! TO: pokemonFK 我只是对一个表操作,所以不存在主从关系.To: qwertyasd(昊),podianliangshui(泼点凉水) 也不是主健问题,因为我添加记录没有问题,比如我连续添加记录都没有问题,而且记录都已经存在.只是如果我不退出窗体重新进入的话.点击"修改"或"删除"按钮就出现标题所说的错误.如果我关闭窗体重新进入的话,一切正常.可以修改或删除;如果再添加记录后,点击"修改"或"删除"按钮就又出现标题所说的错误. TO:tgtcn(tgtcn) 我以前试过在保存后QUERY.CLOSE;QUERY.OPEN;可这样做,每次保存后,记录就跑到第一条上了.用户操作非常不方便,老是找不着他刚修改的那条记录. 你是不是有设出发器,有的话,删掉,再在“删除”事件中写 DELETE FROM TABLE WHERE。 没有触发器,我是用IP4000里面的RzDBNavigator组件删除,没写代码 Q1.Close; Q1.SQL.Clear; q1.SQL.Add('delete from Dj_xsreciept_item where fcode ='+''''+dbtxt.Text+'''') ; q1.ExecSQL; q1.Close; q1.SQL.Clear; q1.SQL.Add('select * from Dj_xsreciept_item where fcode =:fCode') ; q1.Open;搞个参数就可以了 ! 这个错误有很多原因都会引起,比如多用户环境,A编辑的数据,被B用户删除了。或者你的主键设置,如果用了浮点型类型字段作主键也可能引起,如果在多层环境下,和你的DataSetProvider的UpdateMode设置为upWhereAll,upWhereKeyOnly...都有关系。还有就是你后台有没有触发器,入过触发器里面有Update 或者Delete语句去更新其他表而影响行数又为零的话,也可以引起这样的问题。 如果你用的是SQL SERVER可以用“SQL 事件探查器”跟踪一下就会发现问题了! 每次打开工程怎么都出现同一个窗体 求二叉树子节点判断方法(着急等待.......) TSteam生成excel文件格式问题 如何检测机子上是否装有SQL2000? 电子书下载 请问DELPHI能写防火墙吗? 怎样来设置这个默认值? 如何取一个字符串的后面的几位数?等!!!1 给delphi初学者的帮助***********在线等候******************** 请教高手排列组合问题 怎样通过Delphi程序直接放mp3? 一个很简单的日期转换问题
http://www.china-askpro.com/msg43/qa11.shtml
空页面
你要操作的Query里面没有查询出来结果,原因:
1、QUERY没有打开。
2、打开了,没有取出来值。
QUERY.CLOSE;
QUERY.OPEN;
2\又重复纪录
3、 ado版本低,只有98才会出现这种情况。
一般就是3个原因,我碰到过很多次,仔细检查代码!
我只是对一个表操作,所以不存在主从关系.To: qwertyasd(昊),podianliangshui(泼点凉水)
也不是主健问题,因为我添加记录没有问题,比如我连续添加记录都没有问题,而且记录都已经存在.只是如果我不退出窗体重新进入的话.点击"修改"或"删除"按钮就出现标题所说的错误.如果我关闭窗体重新进入的话,一切正常.可以修改或删除;如果再添加记录后,点击"修改"或"删除"按钮就又出现标题所说的错误.
QUERY.CLOSE;
QUERY.OPEN;
可这样做,每次保存后,记录就跑到第一条上了.用户操作非常不方便,老是找不着他刚修改的那条记录.
Q1.SQL.Clear;
q1.SQL.Add('delete from Dj_xsreciept_item where fcode
='+''''+dbtxt.Text+'''') ;
q1.ExecSQL;
q1.Close;
q1.SQL.Clear;
q1.SQL.Add('select * from Dj_xsreciept_item where fcode =:fCode') ;
q1.Open;
搞个参数就可以了 !
或者你的主键设置,如果用了浮点型类型字段作主键也可能引起,
如果在多层环境下,和你的DataSetProvider的UpdateMode设置为upWhereAll,
upWhereKeyOnly...都有关系。还有就是你后台有没有
触发器,入过触发器里面有Update 或者Delete语句去更新其他表
而影响行数又为零的话,也可以引起这样的问题。
可以用“SQL 事件探查器”跟踪一下
就会发现问题了!