|
版本: |
X5.2.7 |
小版本号: |
|
|
|
数据库: |
|
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
主键用Integer,并用 nextSeq('XXXX') 做为主键默认值时,
修改一条数据,保存,再修改或者删除这条记录时,就会爆如下错误:
编码: JUSTEP150186; 提示: 更新记录OSAP, OSAP, key="30"出错, 不存在符合条件的数据, UPDATE OSAP OSAP SET OSAP.CompanyDB = :CompanyDB_new, OSAP.version = :version + 1 WHERE OSAP= :OSAP_old AND OSAP.version = :version_old; 可能的原因: 数据被其他用户修改了; 数据被其他用户删除了
编码: JUSTEP150180; 提示: 删除记录OSAP, OSAP, key="30"出错, 不存在符合条件的数据, DELETE FROM OSAP OSAP WHERE OSAP= :OSAP AND OSAP.version = :version; 可能的原因: 数据被其他用户修改了; 数据被其他用户删除了
这种情况下,保存数据后,数据库中version已经被更新,而用来校验用的version 没有更新。
这个应该是缺陷,有么有办法修正啊。
我现在临时解决办法是:
SaveCommit 事件中去刷新一下数据
mainActivity.dataMainSaveCommit = function(event){
justep.xbl("dataMain").refreshData();
};
我测试过,用GUID做主键不会出现这个问题。
|
|