问题情况描述:
用含标识列的表做了一个数据窗口,Update properties中,设置的Key Columns,Identity Column属性也设置啦。
第一次UPdate()时没有问题,再更新了其他列,再次UPdate(),提示
Row changed between retrieve and update.
No changes made to database.
的错误,SQL 语句中where条件后的标识列是Null。
问题解决:
经过几天的Google搜索,下边的帖子让我找到了问题的根本原因,原来是数据库得到标识列值方法不同造成的,学到了新知识。
http://bbs.csdn.net/topics/340112294
我没有通过修改数据连接配置文件的方法解决问题,因为客户太多,让他们去修改ini文件不方便,也怕修改这个属性对其他地方造成影响。
最终,每次Update()之后,都retrieve()一次,再次UPdate()时就没问题啦。
本文讨论了在使用数据窗口进行操作时,遇到标识列在更新前后值不一致导致的SQL错误问题,并提供了通过多次更新来解决该问题的方法。重点在于数据库标识列获取方法的不同对数据更新的影响,以及避免此类错误发生的实践建议。
1万+

被折叠的 条评论
为什么被折叠?



