《数据库应用技术——PowerBuilder应用系统开发》-周建芳-电子教案 PB05

上传人:E**** 文档编号:89403391 上传时间:2019-05-24 格式:PPT 页数:32 大小:719.01KB
返回 下载 相关 举报
《数据库应用技术——PowerBuilder应用系统开发》-周建芳-电子教案 PB05_第1页
第1页 / 共32页
《数据库应用技术——PowerBuilder应用系统开发》-周建芳-电子教案 PB05_第2页
第2页 / 共32页
《数据库应用技术——PowerBuilder应用系统开发》-周建芳-电子教案 PB05_第3页
第3页 / 共32页
《数据库应用技术——PowerBuilder应用系统开发》-周建芳-电子教案 PB05_第4页
第4页 / 共32页
《数据库应用技术——PowerBuilder应用系统开发》-周建芳-电子教案 PB05_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《《数据库应用技术——PowerBuilder应用系统开发》-周建芳-电子教案 PB05》由会员分享,可在线阅读,更多相关《《数据库应用技术——PowerBuilder应用系统开发》-周建芳-电子教案 PB05(32页珍藏版)》请在金锄头文库上搜索。

1、第5章 应用程序对象application,本章要点: 工作区与目标 应用程序对象 事物对象,5.1 工作区和目标,工作区是一个组织和存储各种目标的容器或载体,它是以pbw为后缀的文件,记录了本工作区中包含的各种目标信息。 目标是我们要开发的应用程序,是以pbt为后缀的文件。每个目标包含一个应用程序对象,将一些控件都保存到PB的应用库中,即以pbl为后缀的文件,在此应用程序运行时触发各对象中的事件。,5.1 工作区和目标,目标分类: PowerScript 目标:指客户/服务器应用程序、多层应用程序或服务器组件。 Web 目标:指Web 应用程序,它包含了构造一个Web 站点所需的所有元素包括

2、HTML 文件脚本图像下载组件建立站点的各种选项建立数据库连接的各种选项和部署应用程序的选项。 现在我们主要介绍PowerScript 目标的使用,5.1 工作区和目标,5.1.1 工作区的创建和打开 1创建工作区 单击主菜单“File”下拉菜单中的“New”子菜单,或点击powerbar工具条下的“新建”图标,5.1 工作区和目标,选中“workspace”标签页,选中标签下方的窗口区域的图标,点“OK”,出现一个要求输入工作区名称和存放路径的对话框,输入要创建的工作区的名字,点“保存”,完成工作区的创建。,5.1 工作区和目标,2打开工作区 方法一:单击主菜单File的“Open”子菜单项

3、,或点击powerbar下的“打开”图标,会出现open窗口,显示了该目录下的所有文件,选择要打开的工作区的名字,点“OK”打开一个工作区。 方法二:单击主菜单File的“Open workspace”子菜单项,会出现一个与方法1打开时相似的窗口,只显示了工作区文件,选中要打开的工作区文件名,点“OK”可打开一个工作区。 方法三:单击主菜单File的“Recent workspace”子菜单项,会出现一个级联菜单,列出了最近打开过的工作区。选中要打开的工作区文件,点“OK”打开一个工作区。,5.1 工作区和目标,3工作区打开方式 通过选择主菜单Tools下的SystemOptions子菜单项能

4、调整工作区的打开方式。,5.1 工作区和目标,5.1.2 目标的创建与打开 1创建目标 同创建工作区打开的菜单类似,在“New”窗口选择“target”标签,5.1 工作区和目标,选择第一个图标Application,点击“OK”,输入各项文件名后,点击“finish”按钮即完成应用目标的创建,同时还创建了应用程序对象和一个存放应用程序对象以及其他各种对象的应用库。,5.1 工作区和目标,5.1.3 向工作区添加和删除目标 1将已有的目标添加到打开的工作区 在系统树窗口中选中打开的工作区,单击右键选择Add Target菜单项,出现Add Target To Workspace对话框,选择要添

5、加的目标文件所在的目录和目标文件,点击“打开”,完成了将已有目标加入工作区。,5.1 工作区和目标,2从工作区删除目标 在系统树窗口中选中要删除的目标,单击鼠标右键选择Remove Target菜单项,就可以将选中的目标从当前工作区中删除。,5.2 应用程序对象,应用程序对象是每个PowerScript目标的应用程序必须具备的不可视对的对象,用来标识应用程序。 5.2.1 应用程序画笔 在PB中,所有对象的创建和修改都是在画笔中完成的。一个画笔相当于相关对象的设计窗口,在该窗口下显示的菜单、工具条、窗格(子窗口)都与该对象有关。 在应用程序画笔中可以完成指定应用程序对象的属性;编写应用程序事件

6、脚本;保存应用程序对象;浏览应用程序组成部分等功能。,5.2 应用程序对象,打开画笔的三种方法: 创建新对象时,相应对象的画笔会打开。 继承或打开一个已有的对象时,相应对象的画笔会打开。 在应用库画笔中双击要编辑的对象时会打开相应对象的画笔。,5.2 应用程序对象,应用窗口的画笔,5.2 应用程序对象,5.2.2 应用程序对象的属性 应用程序的属性窗口可以通过双击应用程序对象或在应用画笔工具栏painterBar中点击“属性工具按钮” 来打开,5.2 应用程序对象,5.2.3 应用程序对象的函数 可用函数总共有8个: ClassName:返回应用程序对象的名字。 GetContextServi

7、ce:建立对服务器对象的引用,来访问服务器对象的方法和属性。 GetParent:返回指定对象的父对象的引用。 PostEvent:向应用程序事件队列的末尾添加一个要触发事件的消息。 TriggerEvent:用于触发应用对象中指定事件。 SetLibrariesList:为应用程序指定不同的库文件列表。 SetTransPool:设置事物缓冲池,控制数据库连接。 TypeOf:返回应用程序的枚举类型。,5.2 应用程序对象,5.2.4 应用程序对象的事件,应用程序 对象的事件,一共有个事件,但从PB9开始的后续版本已经不再使用connectionbegin 和connectionend事件,

8、所以应用程序可以响应的事件只有个。,5.2 应用程序对象,1Open 对任何应用程序来说,都必须对应用程序对象的open事件编程。一般而言,在应用程序对象的Open事件中完成如下工作: 应用程序初始化; 检查环境以确定应用程序需要的资源是否满足; 连接数据库; 打开某一个窗口。,5.2 应用程序对象,2Close 当应用程序结束时发生,一般在close事件中要完成的工作有: 删除应用程序运行过程中创建的对象; 保存此次运行的一些修改; 关闭应用程序中未关闭的文件; 断开与数据库的连接。 当然也可以什么都不做。,5.2 应用程序对象,3Idle 在应用程序的某个对象脚本中调用idle函数,确定一

9、个时间间隔(以秒为单位)。若在此时间间隔内应用程序没有收到用户的鼠标或键盘操作,就触发该事件。 通常用于事件中的典型脚本做保密性处理工作,如进入屏幕保护状态、重新进入用户身份校验和口令验证窗口、重新启动或退出应用程序等。,5.2 应用程序对象,4SystemError 当应用程序中发生严重错误时该事件被触发。 如果该事件没有脚本将由PB显示消息框并提示错误代码和原因,当然这些错误原因是英文的。也可以对事件编写脚本将英文错误代码转换成中文,或可以显示用户自定义的错误信息。,5.2 应用程序对象,整个应用程序的执行过程: 启动应用程序,触发应用程序对象的Open事件,执行初始化并打开第一个窗口;

10、触发第一个窗口的Open事件,执行与窗口功能对应的初始化工作 接受用户的输入,触发各控件的事件,执行相应的功能。 终止应用程序的执行,触发应用程序对象的close事件,如清除对象,关闭未关闭的文件、断开与数据库的连接等等。 在以上任何一个阶段出错,都会触发应用程序对象的SystemError事件。,5.2 应用程序对象,5.2.5 应用程序的运行 一个可运行的客户/服务器两层体系结构的应用程序至少要包括: 一个工作区(以pbw为后缀的文件) 一个Powerscript应用目标(以pbt为后缀的文件)或多个目标 一个存放各种对象的应用库(以pbl为后缀的文件) 在主菜单选择“RUN”下的子菜单“

11、Run”或点击Powerbar工具条的Run图标 运行刚才创建的应用即可。,5.3 事物对象,5.3.1 事物对象的概念 这是一个不可视的对象。通过事物对象,用PB编写的数据库应用程序就可以访问后台数据库。就像一座桥梁连接着数据库应用程序和数据库。当应用程序运行时,事物对象驻留在内存中,记录了连接数据库需要的信息以及从数据库反馈回来的状态信息。,桥梁作用,5.3 事物对象,5.3.2 事物对象的属性 事物对象共有个属性,简单介绍如下: DBMS:数据库接口的名字。 Database:要连接的数据库的名字。 Servername:数据库所在的服务器的标识。 Dbparm:与具体的数据库连接时的相

12、关参数。 UserId:与数据库连接时的用户名。 Dbpass:连接时的用户名对应的密码。 Logid:登陆数据库服务器时使用的用户名。 Logpass:登陆时的用户名对应的密码。,5.3 事物对象,Lock: 连接数据库的隔离层。 Autocommit:应用程序是否自动提交事物。 SqlCode:最近一次对数据库的操作是否成功。 SqlDBcode:当数据库操作失败时,由数据库厂商提供的错误编号。 SqlErrtext:当数据库操作失败时,由数据库厂商提供的与错误编号对应的错误信息。 SqlNrows:由数据库厂商提供,最近一次数据库操作影响的记录行数。 SqlReturnData:返回DB

13、MS想要告诉用户的附加信息。,5.3 事物对象,5.3.3 事物对象的使用 PB应用程序与后台数据库进行通信的步骤是: 定义并创建事物对象; 设置事物对象属性(连接类属性); 用connect语句建立与数据库的连接; 通过嵌入式SQL语句或数据窗口对象执行数据库操作; 对每一次数据库操作,根据事物对象的返回状态信息判断本次操作是否成功并根据结果采取不同的处理; 用disconnect语句断开与数据库的连接; 清除事物对象。,5.3 事物对象,1声明事务对象类型变量 事物对象也是一个对象,因而要先声明后使用。声明一个事物对象类型(transaction)的变量作为事物对象,这个变量就是一个指向事

14、物对象的指针。 事物对象变量可以是全局变量、实例变量、共享变量或局部变量。 声明一个事物对象类型变量的语法: Transaction test_tran 其中test_tran是事物对象类型变量的名字。,5.3 事物对象,2创建对象实例 在对事物对象进行操作之前,还需要创建一个事物对象类型的对象实例。 语法为: test_tran=create transaction,5.3 事物对象,3操作对象 在创建了事物对象实例之后,就可以操作对象了。 对事物对象进行的操作一般有:用赋值语句设置或读取事物对象属性,创建或删除整个事物对象等。引用事物对象的属性通过点操作符“.”来实现。 设置事物对象属性的

15、语法如下: 事物对象名.属性=属性值 注意赋值语句两边的类型必须一致,否则会出错。 读取事物对象属性的语法如下: 变量=事物对象名.属性 或者直接引用事物对象的属性。,5.3 事物对象,例如在连接数据库后根据事物对象的返回状态信息判断连接是否成功并根据结果执行相应处理: long code string cause connect using test_tran; /指定用test_tran连接数据库 code=test_tran.sqlcode /读取sqlcode,赋值给code,表返回成功与否 cause=test_tran.sqlerrtext /读取返回错误信息,赋值给变量cause, /如果code=0或100,表示成功,该值为空字符串,若为-1,则为错 /误提示信息 if code=0 then messagebox(“ok”,”数据库连接成功”) else messagebox(“错误”,“原因是:”+cause) end if,5.3 事物对象,4清除事物对象 当应用程序结束,事物对象不再需要的时候,应该清除该事物对象。 清除事物对象的语法是: destroy 事物对象名 一般对于全局事物对象,将清除语句放在应用程序对象的close事件中比较好,而对于局部事物对象,可在所有数据库操作完毕时清除事物对象。,

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

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

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