请问你们是怎样做数据的并发控制?sqlserver的锁和时间可以吗?具体怎么做?
------解决方案--------------------
通过数据窗口的更新选项来控制
先说一下“Key Columns”等3个选项的区别:
“Key Columns”
该选项在控制数据完整性方面最弱,它所允许的并发操作是最多的,所禁止的并发操作发生的可能性非常小,只有当主键被更改后才起并发控制作用,当一条记录的关键字改变了才进行控制,这显然没有多大意义。实际上这种方法一般只在单机版的应用程序中使用,而在C/S模式中是很少使用的
“Key and Updateable Columns”
该选项是PB的默认选项,控制最为严格,可以实现最安全的并发控制,充分保证数据的完整性,但它也会禁止我们做一些本当允许的并发修改,是并发能力最差的方法
“Key and Modified Columns”
该选项可以说是前两者的折衷,在控制数据完整性和严格性方面比第一项强,比第二项弱,在允许的并发操作数量方面比第一项少,比第二项多
再继续
选项“Key Columns”
比较更新前后Table的关键字是否发生了变化,即当前数据库中关键字的实际值和最初查询的值做比较,如果没有改变,则可以更新,反之不能更新
选项“Key and Updateable Column”
比较更新前后Table的关键字和可修改(更新)的列值是否发生了变化,如果没有一项发生改变,更新成功;反之,若数据库中当前值中若任一项与数据窗口最初检索出的值不一致,则更新失败
选项“Key and Modified Columns”
比较更新前后Table的关键字和要修改(更新)的列值是否发生了变化,如果没有改变,更新成功,反之更新失败。
------解决方案--------------------
+1