改变数据窗口更新特性的方法
因为关键字id=100没有发生变化,Where条件成立,更新成功,将A用户的修改覆盖,salary值变为950元,员工损失了200元。显然这样没有达到并发控制的目的,未能保证数据的完整性。
2、选项“Key and Updateable Column”:
这种情况是比较更新前后Table的关键字和可修改(更新)的列值是否发生了变化,如果没有一项发生改变,更新成功;反之,若数据库中当前值中若任一项与数据窗口最初检索出的值不一致,则更新失败。对于此例,因所有字段都是可修改(更新)的,即检测是否有任一字段变化。
同上,当用户A更新完后,B用户点击“存盘”按钮,我们可以看到sqlsyntax返回如:
UPDATE "personnel" SET "salary" = 950 WHERE "id" = 100 AND "name" = '令狐冲' AND "birthday" = '1975-05-01' AND "technical_post" = '工程师' AND "salary" = 1000 AND "notes" = '软件开发'