一、连接数据库
连接数据库也就是指定事务对象。PowerBuilder提供了两个函数:SetTrans()和SetTransObject()。语法格式:
dw_control.SetTrans(TransactionObject)
dw_control.SetTransObject(TransactionObject)其中,dw_control是所使用的数据窗口控件,transactionObject是所要指定的事务对象。这两个函数有一个重要的区别就是在使用SetTrans()函数时,用户不需做任何数据初始化或事务对象初始化工作。用户只需要在这里填充一个事务对象,PB就会自动完成对该事物对象的初始化以及和数据库连接的工作。而使用SetTransObject()函数时,用户必须首先把所用的事务对象连接到数据库上。但是,这并不意味着SetTrans()函数比SetTransObject()函数更好,使用SetTrans()函数时,每调用一次函数必须连接一次数据库,因为这个函数在每个事务处理的末端都会执行Disconnect语句。与此相反,使用SetTransObject()函数可以为数据库维持一个开放性的连接。因此在一般情况下,为了提高效率,总是采用SetTransObject()函数。这两个函数都是成功时返回1,发生错误时返回-1。
二、检索数据
用于检索数据的函数只有一个,就是Retrieve()函数。语法格式:
dw_control.Retrieve()如果数据窗口控件上的数据窗口对象是有检索参数的,就要在这个函数调用时加上检索参数。而且检索参数必须和数据窗口对象中定义顺序一致。此函数返回一个长整型的数据,代表检索出来的数据行数。如果发生错误,将返回-1。
三、更新数据
当用户对数据窗口对象内的数据修改后,想把这些修改反映到数据库中去时,必须使用Update()函数。语法格式:
dw_control.Update()这个更新可能成功,也可能失败。一般在这个函数被调用之后,总是要做一个检查。请看下面的例子:
Int li_return
li_return = dw_1.Update()
IF li_return = 1 THEN
COMMIT USING SQLCA;
ELSE
ROLLBACK USING SQLCA;
END IF在这段代码中,首先对数据窗口控件进行更新操作。但是更新只是把数据写入到客户机的内存,并没有提交到数据库中。如果更新成功,就把它提交到数据库中,如果更新失败,就回滚到当前的事务。
行操作行操作的函数主要是对数据库中的数据进行插入、删除或选择操作。
一、插入行
在DataWindow中插入一行,可以使用InsertRow()函数。语法格式:
dw_control.InsertRow(rownumber)
dw_control是数据窗口控件名,rownumber是要插入行的的行号。如果这个参数为0,代表在当前DataWindow的最后一行插入一空行。
InsertRow()函数返回一个长整型值,以此来代表插入的行号。如果插入失败,则返回-1。
二、删除行
要删除DataWindow内的一行数据,则要使用DeleteRow()函数。语法格式:
dw_control.DeleteRow(rownumber)其中rownumber是要删除的行号。如果该值为0,表示删除当前行。如果删除成功,返回1,失败则返回-1。
三、设置当前行
如果要设置DataWindow中的某行为当前行,可以使用SetRow()函数。语法格式:
dw_control.SetRow(rownumber)
其中rownumber是要设置为当前行的行号。如果函数返回1表示成功,返回-1代表失败。
四、获取当前行
如果想要获取DataWindow中的某行为当前行,可以使用GetRow()函数。语法格式:
dw_control.GetRow()该函数没有参数,它返回一个长整型,代表当前行号。如果返回-1代表失败。如果返回0代表没有选中任何行。
五、选择行
如果想要在DataWindow中加亮显示某一行或取消加亮显示某一行,可以使用SelectRow()函数。语法格式:
dw_control.SelectRow(rownumber,select)其中,rownumber表示要加亮或者取消加这显示的行号,0表示所有行。select是一个布尔类型的值,TRUE表示加亮,FALSE表示取消加亮显示。该函数返回1时表示成功,返回-1时表示失败。如果想要直接设置某一行为加亮,需要首先取消其它行的加亮显示状态,采用如下的两行代码:
dw_1.SelectRow(0,FALSE)
dw_1.SelectRow(rownumber,TRUE)
六、获取选择行
如果想要获取当前DataWindow中加亮显示的行,可以使用GetSelectRow()函数。语法格式:
dw_control.GetSelectRow(rownumber)其中,rownumber为开始查的行的行号,0表示从头开始查。该函数返回一个长整数,表示从rownumber开始查第一个加亮显示的行的行号。如果失败返回0。
七、滚动行
如果在DataWindow的末尾插入一行数据,而当前行是在DataWindow的中央,那么这种插入可能不会被用户觉察。为了改变这种情况,可以滚动行到DataWindow的末尾,这样用户就能发现新的改变。要滚动行,可以使用ScrollToRow()函数。语法格式:
字符串函数怎么获取
dw_control.ScrollToRow(rownumber)该函数返回1时表示成功,返回-1时表示失败。与ScrollToRow()函数据功能相关的还有如下几个函数:
ScrollPriorRow():向上滚动一行
ScrollNextRow():向下滚动一行列操作列操作类的函数主要是选择指定的列和获取列的信息。
一、获取列
如果要获取当前的列号,可以使用GetColumn()函数,如果要获取当前的列名,可以使用GetColumnName()函数。语法格式:
dw_control.GetColumn()
dw_control.GetColumnName()这两个函数都没有参数,GetColumn()函数返回一个长整型值,代表当前的列号,GetColumnName()函数返回当前列的列名。如果返回0,表示当前没有任何列被选择返回-1表示失败。
二、设置列
要设置某一列为DataWindow中的当前列,可以使用SetColumn()函数。语法格式:
dw_control.SetColumn(column)其中column既可以是列号,也可以是列名。当该函数返回1时表示成功,返回-1时表示失败。数据操作数据操作类的函数主要是对DataWindow中的数据进行获取、设置。
一、获取数据
如果要从DataWindow的指定行和列中获取数据,就要使用GetItem系列的函数。
这个系列的函数共有五个,分别是对字符串、数字、日期、日期时间和小数。语法格式:
dw_control.GetItemString(rownumber,column)
dw_control.GetItemNumber(rownumber,column)
dw_control.GetItemDate(rownumber,column)
dw_control.GetItemDateTime(rownumber,column)
dw_control.GetItemDecimal(rownumber,column)其中,rownumber参数表示行号,column可以是列号或列名。
二、设置数据
与获取数据所用的函数不同,设置DataWindow内指定行列处的数据只要使用一个SetItem()函数就可以了。语法格式:
dw_control.SetItem(rownumber, column, value)其中rownumber表示行号,column可以是列号,也可以是列名,value表示要设置的值。但是该必须与DataWindow中指定的行列处的数据类型一致,不然PowerBuilder会报错。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。