前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

PowerBuilder编程过程中的数据窗口函数 —IT技术 - 赛迪网 赛迪网 > IT技术 > 精彩更新 > 文章 IT资讯搜索 赛迪网 资讯中心 通信产业 IT技术 IT产品 信息化 情报中心 百度 Google IT产品搜索 产品分类 手机 笔记本 台式机 服务器 投影机 打印机 [an error occurred while processing this directive] PowerBuilder编程过程中的数据窗口函数 (1) 发布时间:2008.06.12 04:46 来源:赛迪网 作者:Alizze 【赛迪网-IT技术报道】本节介绍的主要内容如下: · 与数据库有关的函数 · 行操作 · 列操作 · 数据操作 PowerBuilder为数据窗口控件提供了丰富的函数,这些函数使用户能够在使用数据窗口控件时得心应手。 与数据库有关的函数 这类函数完成与数据库有关的功能。 一、连接数据库 连接数据库也就是指定事务对象。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) 1 2 下一页>> [ 发表评论 ] 字体[ 大中小 ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ] [ 推荐给朋友 ] 【相关文章】 【客户需求反馈表】 * 姓  名: 更多资料  了解方案  认识厂商 详细需求信息请在此处填写! * 单位名称: * 联系电话: * 电子邮件: [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] 资讯 通信 IT产品 IT技术 信息化 [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]