数据库原理及应用 ——“十一五”
国家级规划教材 1
第 9章 应用对象
本章重点内容
应用程序对象的含义及创建
应用程序对象的基本属性设置
应用程序对象的常用方法和事件
事务对象的含义及使用数据库原理及应用 ——“十一五”
国家级规划教材 2
应用程序对象是应用程序的入口点,是包含用户应用程序所有信息的非可视对象 。 它包括字体程序图标库的路径,全局变量程序结构函数,
应用程序实例变量,外部函数等信息 。 在开发
PowerBuilder应用程序时,用户必须要创建一个应用程序对象 。
在运行一个应用程序时总是先运行应用程序对象的 Open事件,所以为了使应用程序能够执行一定的功能,一定要在 Open事件中加入的代码,
以告诉 PowerBiulder应该做什么,例如打开数据库,打开主窗口 。 当应用程序终止时,Close
事件被触发,以完成系统必须的一些清理工作,
如关闭数据库等 。
9.1 应用对象概述数据库原理及应用 ——“十一五”
国家级规划教材 3
9.2.1 工作区
1.创建一个工作区
– 1) 单击工具栏上的图标,或者选择 File→ New
菜单项,打开建立新对象对话框 。
– ( 2)选择 Workspace选项卡,选中图标后单击
OK按钮;或双击图标,打开 New Workspace对话框 。
– ( 3)在 New Workspace对话框中选择保存位置并输入文件名后单击,保存,按钮即可。
9.2 创建应用对象数据库原理及应用 ——“十一五”
国家级规划教材 4
9.2 创建应用对象
2,打开和关闭一个工作区
– 如果当前没有打开的工作区,则 选 择
File→ Open菜单项,弹出打开对话框,选中要打开的工作区后单击 OK按钮或双击打开 。
– 如果当前已有一个打开的工作区,需要打开另一个工作区,则需选择 File→ Open Workspace
菜单项,将弹出 Open Workspace对话框 。
– 当打开新的工作区后,原来的工作区将会自动关闭,即 PowerBuilder中一次只能有一个工作区工作,并且打开应用程序对象所在的工作区将同时打开应用程序对象。
数据库原理及应用 ——“十一五”
国家级规划教材 5
9.2 创建应用对象
9.2.2 创建应用程序对象
– ( 1) 确定应用程序对象所在的工作区,打开这个工作区或新建工作区 。
– ( 2 ) 单击工具栏上的 new 图标,或者选择
File→ New菜单项,打开建立新对象对话框 。
– ( 3) 选择 Target选项卡,选中 Application图标后单击 OK按钮,或双击该图标,打开 Specify New
Application and Library对话框 。
– ( 4) 输入应用程序对象名称 ( Application Name),
应用库 ( Library) 和对象文件名 ( Target),单击
OK按钮,即可完成应用程序的创建 。
数据库原理及应用 ——“十一五”
国家级规划教材 6
9.3 应用程序对象的属性设置
General选项卡应用程序对象名称应用程序的显示名称设置状态条的默认文本
,默认设置为 Ready
定义显示数据窗口消息对话框时的默认标题
DDE超时设置数据库原理及应用 ——“十一五”
国家级规划教材 7
9.3 应用程序对象的属性设置
Application对话框数据库原理及应用 ——“十一五”
国家级规划教材 8
9.3 应用程序对象的属性设置
图 9-10 Toolbar选项卡数据库原理及应用 ——“十一五”
国家级规划教材 9
9.4 应用程序对象的方法和事件对象下拉列表事件下拉列表单击该按钮将显示 / 隐藏错误提示单击该按钮将显示 / 隐藏函数原型数据库原理及应用 ——“十一五”
国家级规划教材 10
9.4.1 应用对象的事件 -open
脚本
/* 初始化事务对象属性并通过事务对象与数据库建立连接 */
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm =
"ConnectString='DSN=fpgl;UID=dba;PWD=sql;databasename=fpgl'"
connect using sqlca;
if sqlca.sqlcode < 0 then
messagebox("提示 ","数据库连接失败,请检查数据库 fpgl.db是否存在 ")
else
open(w_main)
end if
数据源名称数据库原理及应用 ——“十一五”
国家级规划教材 11
9.4.1 应用对象的事件 -close
脚本:
//断开与数据库的连接
DISCONNECT USING SQLCA;
//判断断开数据库的情况
IF SQLCA.SQLcode<0 then
messagebox(,数据库断开失败 !,,SQLCA.SQLErrText,
stopSign!,OK!)
End If
数据库原理及应用 ——“十一五”
国家级规划教材 12
9.4.2 应用程序对象的方法
ClassName(),用来返回当前应用程序的名称
TypeOf(),用来确定当前应用程序的类型。
GetParent(),用来返回某个指定对象的父类。
TriggerEvent(),用来触发某个事件并执行其中的代码。
PostEvent(),函数使得指定的代码与调用的处理程序异步执行,将一个事件加入到指定对象处理事件队列的尾部。
数据库原理及应用 ——“十一五”
国家级规划教材 13
SetLibraryList(),用来动态的指定当前应用程序对象的库函数搜索路径。
GetContextService(),建立一个特定服务的上下文实例的参考。
SetTransPool(),用于分布式计算,建立一个数据库协议池。
9.4.2 应用程序对象的方法数据库原理及应用 ——“十一五”
国家级规划教材 14
9.5 事务对象及其应用
事务对象是一个非可视化对象,其作用是为嵌入式 SQL语句以及数据窗口与数据库之间的通信提供一个通信区。事物对象驻留内存,拥有连接数据库以及从数据库中得到反馈数据的所有信息。
事务对象数据窗口 与数据库的 数据库嵌入式 S Q L 语句 通信桥梁 管理系统数据库原理及应用 ——“十一五”
国家级规划教材 15
9.5 事务对象及其应用
SQLCA是 PB系统自动创建的一个事务对象
PB程序中显示并操纵数据的过程
– 设置事务对象属性(应用对象的 open事件中写脚本)
– 与数据库连接( CONNECT;)
– 执行所需的数据库操作
– 断开与数据库的连接 (DISCONNECT; 在应用对象的
close事件中写脚本 )
事务对象的创建
– Transaction tran //声明为全局变量
– Tran=create transaction
事务对象的删除
– Destory tran //在应用对象的 close事件中数据库原理及应用 ——“十一五”
国家级规划教材 16
本章小结
本章介绍了应用程序对象和事务对象的概念及用法。应用程序对象在整个应用程序中所起的作用,它是应用程序的入口点。应用程序对象的的创建,需要先打开或新建一个工作区。应用程序对象是非可视对象,在
PowerBuilder应用程序中,应先创建应用程序对象,然后才能创建其它对象。应用程序对象的各个属性含义及设置。应用程序对象的事件中的 Open事件应完成诸如连接数据库、打开主窗口的操作。事务对象是应用程序与数据库之间进行通信的桥梁,要实现对数据库数据的操作,必须先通过事务对象与数据库相连。 PowerBuilder
系统默认的事务对象是 SQLCA,如果需要同时与多个数据库连接,可以创建多个事务对象。