问题情况描述:
用含标识列的表做了一个数据窗口,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()时就没问题啦。