我是靠谱客的博主 顺心鞋子,最近开发中收集的这篇文章主要介绍数据保存时,出现‘record not found or changed by another user’错误信息的解决办法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数据保存时,出现‘record not found or changed by another user’错误信息的解决办法


userdatasetserverc
             'record not found or changed by  another user',这个错误是我在做项目时,遇到的问题,找了一些参考才解决。如下:

所用的控件有:TDataSetProvider,TADOQuery,TClientDataSet

                       1.当 DataSetProvider.UpdateMode=upWhereAll 时,update时 where 是指定全部字段,比如,你有a、b、c 3个字段,修改了c字段,在app server中修改的命令是update ... set c=新c where a=旧a and b=旧b and c=旧c

         如果 旧的a、b、c之一 已经被其他人改掉了,那where就找不到合适的记录来修改了。所以报告“记录被其他人修改”,这个问题和“锁定”是无关的。

                      2.当 DataSetProvider.UpdateMode=upWhereKeyOnly 时,update时 where 是指定key字段,比如,

你有a、b、c 3个字段,修改了c字段,a是key field在app server中修改的命令是update ... set c=新c where a=旧a (只比较a字段)你的程序应该设计为客户修改不到主键字段的值,这样你的客户只能修改到其他字段的值,其他字段不会出现在where中,就不会出现你说的问题了。

用第2种方法解决,注意如果你的表原来没有主键的,需要双击dataset,添加你的所有field,在有唯一值的field的 ProviderFlasgs 属性里面 InKey 设置为 true (该field必须是有唯一值的,能相当于主键的,也就是能唯一确定该行记录的),TADOQuery,TClientDataSet控件里的唯一值的field字都要设置InKey为true

最后

以上就是顺心鞋子为你收集整理的数据保存时,出现‘record not found or changed by another user’错误信息的解决办法的全部内容,希望文章能够帮你解决数据保存时,出现‘record not found or changed by another user’错误信息的解决办法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部