問題情況描述:
用含標識列的表做了一個數據窗口,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()時就沒問題啦。