PB update属性区别
PB 中关于数据的并发控制与update属性
1、“Key Columns”选项在控制数据完整性方面最弱,它所允许的并发操作是最多的,所禁止的并发操作发生的可能性非常小,只有当主键被更改后才起并发控制作用,当一条记录的关键字改变了才进行控制,这显然没有多大意义。实际上这种方法一般只在单机版的应用程序中使用,而在Client/Server模式中是很少使用的。
2、“Key and Updateable Columns”的是PB的默认选项,控制最为严格,可以实现最安全的并发控制,充分保证数据的完整性,但它也会禁止我们做一些本当允许的并发修改(如上面所说的第二例),是并发能力最差的方法。
3、“Key and Modified Columns”选项可以说是前两者的折衷,在控制数据完整性和严格性方面比第一项强,比第二项弱,在允许的并发操作数量方面比第一项少,比第二项多。
至于在程序中选取哪一种控制比较合适,我们应该根据应用的具体情况来选择。
对于并发控制,我们还需要在程序中捕获 DBMS 的出错号,再显示相应的错误信息,否则PowerBuilder给出的那些出错信息,一般用户是看不懂的。这项功能可在数据窗口的dberror事件中编写代码实现。
==============================================================================
关于数据窗口的"更新属性"
==========================
Allow updates: 是否只读,未打钩则不允许修改、删除任何记录
Table to update:要更新的表
Where clause for update/delete:哪些列参与本次修改、删除
Key columns:主键列
Key and updateable columns:主键列和允许修改的列
Key and modified columns:主键列和真正发生变化的列
Key modification
Use delete then insert:如果是修改数据,先把该键值的数据删除,再插入进来,再提交数据。用户感觉上数据仅仅是被修改过了。
Use update:通过Update语句修改数据。