PowerBuilder(pb) 如何更新动态创建的数据窗口
2018-12-02
2008-06-13 14:49
PowerBuilder(pb) 如何更新动态创建的数据窗口
为了使动态创建的数据窗口可以被更新,需要在使用dw_control.update()之后进行几个相关的设置:
首先需要设置可以更新的列:
dw_control.Object..update
或
dw_control.Modify(".Update=Yes")
这个操作与在Update属性对话框中的"Updateeable Columns"列表框中选择哪些更可以被更新相类似。在这里,我们假设所有可以被更新的更都是同一张表中的字段,对于要更新的每一个列都应该使用上面的语句。
下一步,应该设置更新是采用的主键:
dw_control.Object..key = "yes"
这个操作与在Update属性对话框中的"Unique Key Columns"列表框中选择哪些更可以被更新相类似。
然后,需要设置WHERE子句的更新方式:
dw_1.Object.DataWindow.Table.UpdateWhere = 0 or 1 or 2
这对应于设置key, key & updateable, key & modified。注意,在这里,我们只是对一个表进行了设置,如果需要更新多个表,你需要分别对每个表进行这些设置。.
这样,就可以调用dw_control.Update()
另外,还可以用下面的语句来设置:Update Key In Place:
Dw_control.object.DataWindow.Table. UpdateKeyInPlace = "yes" or "no"
这与在Update属性对话框中Key MOdification下的两个单选按钮作用相同。它主要在更新关键字之后,对PB生成SQL语句进行控制(使用update或insert)。
Yes - 当关键字被修改时,使用UPDATE进行更新。
No - 当关键字被修改时,使用DELETE 与 INSERT 语句。
下面是一个简单的例子,它用于更新PB Demo DB数据库中的DEpartment表。它使dept_name列可以被更新,同时在更新时仅根据关键字dept_id进行更新。
dw_1.Object.DataWindow.Table.UpdateWhere = 0
dw_1.object.dept_name.update = "yes"
dw_1.Object.dept_id.key = "yes"
dw_1.update()
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。
http://www.pinlue.com/style/images/nopic.gif