加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

PB-Powerbuilder提示DataWindow does not have UPDATE capability.

(2011-09-30 10:51:28)
标签:

杂谈

分类: 软件使用

Powerbuilder-DataWindow does not have UPDATE capability.

解决方法:

打开一数据窗口,从Rows菜单中选择的 "Update   Properties… "系统显示 "Specify   Update   Prorerties "对话框:

http://s16/bmiddle/6e5f74c6tbb7ee5c3050f&690does not have UPDATE capability." />


A、如果不允许数据窗口更新数据库,那么就不要选中复选框 "Allow   Updates ",单击 "OK "按钮关闭对话框。如果要禁止用户修改数据窗口的某列,那么在数据窗口画笔中将此列的TabOrder值设为0

B、如果允许数据窗口更新数据库,选中复选框 "Allow   Updates "

C、在 "Table   To   Update "下拉列表框中选择要更新的表

D、在 "Where   Clause   For   Update/Delete "中选则更新方式。

E、在 "Updatesble   Cloumns "通过单击选择可更新的列,被选中的列将加亮显示。

F、选择了要更新的列后,在 "Unique   Key   Column(s) "列表框中定义唯一键,这个唯一键必须能够在表中唯一的标识一条记录。

G、在 "Key   Modification "组框中选择当唯一键列更新时数据行的更新方式。

H、如果当前表中包括了自动增长序号的列(称做标识列,并非所有的数据库都具备此特性),那么在 "Indentity   Column "下拉列表框中指定该列。

I、单击 "OK "关闭对话框。

注意事项:如果在 "Indentity   Column "下拉列表框中指定某列为标识列,那么就不要把该列选择为可更新列。否则,如果把该列选择为可更新列,那么数据窗口产生的任何更新数据库的Update语句都将失败。

关于 "Specify   Update   Prorerties "对话框中的 "Key   Modification "组框的详细意义。 "Key   Modification "组框中两个选项指定当唯一键列被更新时的数据行的更新方式。

A、选中 "Use   Delete   Then   Insert "单选钮,在唯一键列被更新的情况下,PoweBuild将首先删除原来的行,然后使用新的键值插入新行。(这种方法减少了数据库重新组织数据的次数,但也存在一些潜在的问题,当某个表的主键是另一个表的外键并在定义外部键时将删除方式定义同时删除(级联删除)时,应用程序可能并不想使用 "Use   Delete   Then   Insert "选项。)

B、选中 "Use   Update "单选钮,在唯一键列被更新的情况下,PoweBuild修改行的键值(并非所有的数据库都支持主键更新,也就是说,如果您使用的数据库管理系统不支持主键更新,在这里您就不能选择 "Use   Update "选项)。这种方法避免了与外部键相关的级联删除问题。

  关于 "Specify   Update   Prorerties "对话框中的 "Where   Clause   For   Update/Delete "的三个选项的具体含义:

AKey   Columns

当选中 "Key   Columns "单选钮时,数据窗口只使用 "Unique   Key   Columns "列表框中选择主键来构造Where子句,该选项经常在单用户应用程序环境中使用,当PowerBuild生成Update   Delete语句时,它比较某行键值列的原始值与数据库相应行键值列的值,如果两者相等,则更新操作或删除操作被成功的执行。

BKey   and   Updateable   Columns

当选中 "Key   and   Updateable   Columns "单选钮时,PowerBuild在创建的UpdateDelete语句中将键值列的原始值与可更改列的原始值与数据库的相应值进行比较。当这些值相等时,修改或删除相应的行(UpdateDelete语句成功执行)

CKey   and   Modified   Columns

当选中 "Key   and   Modified   Columns "单选钮时,PowerBuild在创建的UpdateDelete语句中将键值列的原始值和已修改可更改列的原始值与数据库的相应值进行比较。当这些值相等时,修改或删除相应的行,该选项是对数据完整性的保护和操作并发性的折中。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有