更新時提示row cannot be located for updating,some values may have been changed since it was last read.一般是什麽原因?
解决方案 »
- 还以为啥delphi病毒,原来只是针对低版本的。。
- BDE 和ADO的主要区别是什么?什么情况下选择BDE,什么时候选择ADO?
- 如何在Delphi中记录用户开、关计算机的时间
- 关于treeview的问题
- 请问大侠如何使用frontpage等网页制作工具来修改" WEB Snap"生成的网页并且如何与网站连接(详解)?(送50分)
- 关于DBGRID输出为TXT,如何使字段名与记录对齐的问题 急!
- 这是什么意思
- ClientDataSet的CustomConstrain的表达式的问题
- 怎么获取录音缓存区里面的数据
- 又送分罗!!!
- borland delphi7.0又没有类似vc的visual assist x 提示工具插件???
- 代码中的事件指的是什么?
3.用户B使用软件,也查询得到数据id=1,name=张三4.用户A,修改记录,改为id=11,name=张三三5.用户B没有更新到数据库中的最新记录值(id=11,name=张三三),而是在数据
id=1,name=张三 的基础上改为 id=14,name=张三四
这个时候,用户B如果尝试向数据表Post数据,就会出现楼主的错误
我在自己在本地數據庫測試時也踫到這樣的錯誤,所以應該不是你說的那樣的原因。
我用的數據集是adodataset,連接方式是緩存提交的方式也就是每次把所有的數據都讀過來然後一起更新
如同 do2008(事情做了,才是事情) 所说,一般是这种情况但是呢,也有由于程序自身逻辑错误造成的。比如:
你在获取数据后,更改了某个字段的值,但是没有提交(或者由于缓存而导致没有实际提交)到服务器,而你呢,根据你修改后的值作为条件来写update的sql语句就会产生这种错误。
如果使用了缓存,建议强制刷新数据库在跟新。还有就是反过来的,你的数据已经提交到数据库,但是由于你先前查询的数据没有更新,所以你依据你先前查询的数据为条件的话,也会出错的。同样的建议,刷新你获取的数据也就是更新你的update的条件
另外rcyboom(BOOM),我按你說的去做,我修改后如果馬上刷新數據庫那修改的就沒有了阿
do2008(事情做了,才是事情)能加個qq29208357嗎,以後有問題可以向你請教。