PowerBuilder数据库应用开发教程(第二版) 教学课件 ppt 作者 978-7-302-15831-8 chapter09

上传人:E**** 文档编号:89354660 上传时间:2019-05-23 格式:PPT 页数:23 大小:649.50KB
返回 下载 相关 举报
PowerBuilder数据库应用开发教程(第二版) 教学课件 ppt 作者 978-7-302-15831-8 chapter09_第1页
第1页 / 共23页
PowerBuilder数据库应用开发教程(第二版) 教学课件 ppt 作者 978-7-302-15831-8 chapter09_第2页
第2页 / 共23页
PowerBuilder数据库应用开发教程(第二版) 教学课件 ppt 作者 978-7-302-15831-8 chapter09_第3页
第3页 / 共23页
PowerBuilder数据库应用开发教程(第二版) 教学课件 ppt 作者 978-7-302-15831-8 chapter09_第4页
第4页 / 共23页
PowerBuilder数据库应用开发教程(第二版) 教学课件 ppt 作者 978-7-302-15831-8 chapter09_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《PowerBuilder数据库应用开发教程(第二版) 教学课件 ppt 作者 978-7-302-15831-8 chapter09》由会员分享,可在线阅读,更多相关《PowerBuilder数据库应用开发教程(第二版) 教学课件 ppt 作者 978-7-302-15831-8 chapter09(23页珍藏版)》请在金锄头文库上搜索。

1、第9章 用户对象与用户事件 重点内容: 用户对象的分类 创建用户对象 使用用户对象 用户对象示例,一、用户对象的分类:,1.可视用户对象 定制用户可视用户对象(Custom):对于在应用开发中设计窗口时,经常使用一组控件来完成特定功能。采用此类用户对象可以将一组控件组合在一起,达到事半功倍的效果。 外部可视用户对象(External):当开发人员有定制DLL时,能够通过这种用户对象将其引入应用的开发中。 标准可视用户对象(Standard):如果你频繁地使用某些PowerBuilder控件完成相同的操作,那么这种用户对象是极为有用的。,一、用户对象的分类:,2.类用户对象 定制类用户对象Cus

2、tom class:定制类用户对象是由设计人员将函数、属性、实例变量和结构等封装到不可视类定义中创建的一种用户对象,这个对象不是源于PowerBuilder对象。 标准类用户对象Standard class:标准类用户对象是继承PowerBuilder内嵌的不可视对象。编程人员可以可以修改这些来自于系统的对象,定义实例变量、函数和结构。标准类用户对象一经定义完成,就可以替代应用中使用的系统提供的内嵌对象。,二、创建用户对象:,1.创建标准可视用户对象,二、创建用户对象:,2.创建定制用户对象 选择File|New对话框,选择PB Object标签页,选中Custom Visual(定制可视类)

3、图标,二、创建用户对象:,3.数据窗口控件的属性创建外部可视用户对象 选择File|New对话框,选择PB Object标签页,选中External Visual(外部可视类)图标,单击OK按钮,打开外部可视用户对象画笔编辑区,二、创建用户对象:,4.创建标准类用户对象 选择File|New对话框,选择PB Object标签页,选中Standard Class(标准类)图标,单击OK按钮,打开Select Standard Visual Type对话框,二、创建用户对象:,5. 创建定制类用户对象 选择File|New命令,打开New对话框,选择PB Object标签页,如图9-1所示。选择C

4、ustom class(定制类)图标,单击OK按钮,打开定制类用户对象画笔编辑区,三、使用用户对象:,1.可视用户对象的使用 在PowerBuilder工具条中单击用户对象图标或选择Insert|Control|User Object命令,打开select object对话框,三、使用用户对象:,2.类用户对象的使用 通过程序调用类用户对象 “变量名”+“.”+“方法名(参数)”/“实例变量” 采用插入不可视控件方法调用类用户对象 通过应用全局变量定义属性使用类用户对象,选择Insert|Object,三、使用用户对象:,2.类用户对象的使用-通过应用全局变量定义属性使用类用户对象 在应用的全

5、局变量定义属性页中,包含了五个来源于系统不可视对象的变量。它们是: Transaction(SQLCA) DynamicDescriptionArea(SQLDA) DynamicStagingArea(SQLSA) Error Message,四、用户对象示例:,(1) 使用第7章创建的GRID风格的数据窗口对象d_house_info_grid,如图,四、用户对象示例:,(2)创建一个继承于数据窗口控件的标准可视用户对象,其设计区如图所示。该对象保存为uo_dw,四、用户对象示例:,(3) 定义实例变量,代码为: datawindow idw_dw /数据窗口变量 boolean ib_i

6、nitialized /判断函数uf_init()是否被调用 (4) 自定义函数uf_init,返回值无,代码为: /函数名:uf_init /参数:adw_param /作用:初始化数据窗口控件 /返回值:无 idw_dw=adw_param ib_initialized=true,四、用户对象示例:,(5) 自定义用户对象函数uf_insert_row,返回值为long型,代码为: /函数名:uf_insert_row /参数:al_row 用于指定在第几行插入 /作用:插入指定行 /返回值:long型,0-插入成功,-1-插入失败 long ll_rc ll_rc=idw_dw.inse

7、rtrow(al_row) if ll_rc0 then idw_dw.scrolltorow(ll_rc) idw_dw.SetFocus() end if return ll_rc,四、用户对象示例:,(6) 自定义用户对象函数uf_retrieve,返回值为long型,代码为: /函数名:uf_retrieve /参数:无 /作用:检索所有的数据 /返回值:long型,返回检索数据的行数 return idw_dw.retrieve(),四、用户对象示例:,(7) 自定义用户对象函数uf_delete_row,返回值为long型,代码为: /函数名:uf_delete_row /参数:a

8、l_row,指定要删除的行的位置 /作用:删除指定的数据 /返回值:integer,0-删除成功,-1-删除失败 int li_rc if al_row=0 and al_row=idw_dw.RowCount() then li_rc=idw_dw.DeleteRow(al_row) idw_dw.SetFocus() return li_rc else return -1 end if,四、用户对象示例:,(8) 自定义用户对象函数uf_update,返回值为long型,代码为: /函数名:uf_update /参数:无 /作用:保存已经修改的数据 /返回值:integer,1-删除成功,

9、其他-删除失败 int li_rc li_rc=idw_dw.update() if li_rc=1 then commit; messagebox(“提示“,“更新成功!“) else rollback; messagebox(“提示“,“更新失败!“) end if return li_rc,四、用户对象示例:,(9) 设计一个窗口对象,如图所示。命名为w_uo_dw_demo,数据窗口控件名称为dw_1,其dataobject属性值为d_house_info_grid;五个控件分别为检索(cb_retrieve)、插入(cb_insert)、删除(cb_delete)、更新(cb_upd

10、ate)、关闭(cb_close)。,四、用户对象示例:,(10) 定义该窗口的实例变量,其代码为: uo_dw iuo_dw /定义用户对象的实例变量 (11) 在窗口的open事件中定义如下代码: dw_1.settransobject(sqlca) iuo_dw=create uo_dw iuo_dw.uf_init(dw_1) (12) 按钮检索(cb_retrieve)的代码为: iuo_dw.uf_retrieve() (13) 按钮插入(cb_insert)的代码为: iuo_dw.uf_insert_row(dw_1.getrow(),四、用户对象示例:,(14) 按钮删除(c

11、b_delete)的代码为: integer li_row li_row= dw_1.getrow() if messagebox(“提示“,“是否删除第“+string(li_row)+“行“,exclamation!,yesno!,2)=1 then iuo_dw.uf_delete_row(li_row) end if (15) 按钮更新(cb_update)的代码为: iuo_dw.uf_update() (16) 按钮关闭(cb_close)的代码为: close(parent),四、用户对象示例:,(17) 在应用程序的open事件中打开编写如代码 / Profile House SQLCA.DBMS = “ODBC“ SQLCA.AutoCommit = False SQLCA.DBParm = “ConnectString=DSN=House数据源;UID=dba;PWD=sql“ connect; if sqlca.sqlcode=0 then open(w_uo_dw_demo) else messagebox(“提示“,“数据库连接失败“) end if,四、用户对象示例:,运行结果,检索,删除,插入,更新,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号