03.第三章 - PB程序设计

Download Report

Transcript 03.第三章 - PB程序设计

第三章 数据库系统设计工具
——PowerBuilder
3.1 使用PowerBuilder 9.0
3.2 创建应用程序
3.3 连接数据库
实训三 创建应用程序并连接数据库
开始放映
3.1 使用PowerBuilder9.0
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
PowerBuilder9.0 简介
PowerBuilder9.0概念及术语
PowerBuilder9.0主要组件
PowerBuilder9.0工作环境
PowerBuilder9.0应用程序开发步骤
下页
上页
返回首页
3.1.1 PowerBuilder 9.0简介
1.版本
PowerBuilder 9.0
共发行了三种版
本。
下页
上页
返回首页
2.特点
(1)专业的客户机/服务器体系开发工具
(2)面向对象的编程
(3)支持多种关系数据库管理系统
(4)丰富的数据表现风格
(5)支持Web应用
下页
上页
返回首页
3.1.2 PowerBuilder 9.0概念及术语
1.对象、应用对象
应用程序是一组有机组织在一起的对象的集合。
对象包括应用对象、窗口对象、菜单对象、按
钮对象、列表框对象、数据存储对象、出错对
象、事务对象。其中,应用对象是程序的起点。
下页
上页
返回首页
2.应用库、目标和工作区
应用库(Library) :对象的集合。对应文件:.pbl。
目标(Target) :应用库的集合,包括Powerscrip目标
(一个C/S模式的应用程序)、Web目标(一个Web
应用程序)。对应文件(文本文件):.pbt。
工作区(Workspace) :目标的集合,开发应用程序
首先创建工作区。对应文件(文本文件):.pbw。
下页
上页
返回首页
3.属性、函数和事件
对象由属性、事件以及函数三部分组成。
4.脚本
脚本就是用PowerScript语言所写的程序。
5.画笔
编辑对象的编辑器。
6.事务对象
是PB应用程序与数据库的数据接口,默认SQLCA
(SQL Communication Area,SQL通信区)。
下页
上页
返回首页
3.1.3 PowerBuilder主要组件
PowerBuilder 9.0提供了一系列管理工具和实用程序,
用于设置和管理PowerBuilder 9.0。
当PowerBuilder 9.0安装完成后,选择“开
始”→“程序”→“Sybase”命令,包括了
PowerBuilder 9.0的主要组件的快捷方式。
下页
上页
返回首页
3.1.4 PowerBuilder工作环境
选择“开始”→“程序”→“Sybase”→“PowerBuilder
9.0”→“PowerBuilder 9.0”命令,可以启动PowerBuilder
9.0。如果是初次启动,将打开“PowerBuilder”窗口,该
窗口是PowerBuilder 9.0的应用程序主开发环境界面。
下页
上页
返回首页
下页
上页
返回首页
1.系统树窗口
系统树窗口为PowerBuilder 9.0开发人员提
供了一个关于工作空间活动状态的视图。它
和Windows的资源管理器非常相似。
2.剪贴窗口
剪贴窗口是一个用来临时存放经常使用的
代码的窗口。它不同于Windows提供的剪贴
板,Windows的剪贴板一次只能存放一段代
码,而PowerBuilder 9.0的剪贴窗口可以存放
任意数量的剪贴代码。
下页
上页
返回首页
3.输出窗口
输出窗口用于显示系统对开发人员的操作作
出的响应。它可以显示移植、编译、部署、执
行和保存等多种操作后系统响应的信息。
4.工具栏
PowerBuilder 9.0共有三种工具栏:PowerBar、
PainterBar和StyleBar。主界面中的工具栏就是
PowerBar。
下页
上页
返回首页
PowerBar上的图标自左至右的含义如下:
(1)New
打开New(新建)对话框,可以新建工作区、
目标和各种PowerBuilder 9.0对象等。
(2)Inherit
打开Inherit From Object(从对象继承)对话
框,可以用继承的方法根据已有对象建立新的
对象。
(3)Open
打开Open(打开)对话框,可以用画板或源
代码编辑器打开各种对象。
返回工具栏页
下页
上页
返回首页
(4) Run/Preview
预览设计的窗口或数据窗口对象,预览时执行
相关的代码。
(5) System Tree
显示或隐藏系统树窗口。
(6) Output
显示或隐藏输出窗口。
返回工具栏页
下页
上页
返回首页
(7) Next Error/Message
下一条错误或提示信息。
(8) Previous Error/Message
前一条错误或提示信息。
(9) To-Do List
打开To-Do List(列表)窗口,跟踪当前
应用程序的开发过程。
返回工具栏页
下页
上页
返回首页
(10) Browser
打开Browser(浏览器)窗口,展开查看系
统对象和当前应用中各对象的信息。
(11) Clip Window
显示或隐藏剪贴窗口。
(12) Library
打开Library(库画板)窗口,管理
PowerBuilder 9.0应用库。
返回工具栏页
下页
上页
返回首页
(13) DB Profile
打开Database Profile(数据库配置)窗口,编
辑和配置数据库连接。
(14) EA Server Profile
打开EA Server Profile(EA Server配置)窗
口,编辑和配置对EA Server的连接。
返回工具栏页
下页
上页
返回首页
(15) Database
打开Database画板,管理数据库、表和数据。
(16) Edit
打开文本文件编辑器,编辑文本。
(17) Incremental Build Workspace
增量式编译工作区中的所有应用。
(18) Full Build Workspace
重新全部编译工作区中的所有应用。
(19) Deploy Workspace
部署工作区。
(20) Skip Build/Deploy/Search
单步编译/部署/搜索。
返回工具栏页
下页
上页
返回首页
(21) Stop Build/Deploy/Search
停止编译/部署/搜索。
(22) Debug
打开调试器,调试当前目标。
(23) Select and Debug
选择要调试的目标,然后打开调试器调试目标。
(24) Run
运行当前目标。
(25) Select and Run
选择要运行的目标,然后运行目标。
(26) Exit
退出PowerBuilder 9.0
返回工具栏页
下页
上页
返回首页
3.1.5 应用程序开发步骤
PowerBuilder 9.0开发应用程序一般包括:
1.创建应用对象
创建应用程序的第一步是创建应用对象,包
括工作区、目标、应用库,设置应用程序级的
属性并编写应用程序脚本。尽管这些在以后都
可以改变,但最好还是事先规划好,使用应用
对象画板进行设置。
下页
上页
返回首页
2.创建应用库
创建应用库是为了保存项目的对象。
(1)创建窗口对象
窗口是应用程序的主要用户界面,,可以将所有
的DataWindow、控件和用户对象结合在一起,形成
完整的用户界面。
(2)创建菜单对象
一般的应用程序的主窗口都有一个下拉菜单,这
个菜单是在Menu画板中创建的。
下页
上页
返回首页
(3)创建DataWindow对象
可以说任何一个PowerBuilder 9.0应用程序的核心都是
用户与数据库的交互,因此数据窗口是PowerBuilder
9.0应用程序开发的重点。
(4)编码
在许多画板中都可以进行编码工作。例如,可以在窗
口和菜单项中为按钮编写脚本,大部分脚本用来连接
不同的控件以及实现它们之间的联系,还有一些脚本
用于直接访问和更新数据库。
下页
上页
返回首页
3.调试和测试
程序的调试不仅仅是调试程序的脚本,有时
还需要跟踪发送到数据库的命令以及从数据库
返回的数据。
测试需要在多个不同的层次上进行,必须保
证该程序符合规范定义,防止出现不希望出现
的情况。
下页
上页
返回首页
4.生成可执行文件
在学习PowerBuilder 9.0的开始阶段,一般可
以通过简单的选择菜单命令完成生成可执行文
件的工作。随着应用程序大小和复杂性的增加,
就会碰到有关可执行文件大小和EXE文件中没
有包含动态分配对象的问题。开发人员需要在
这个阶段利用PowerBuilder 9.0动态库和它的资
源文件来解决这些问题,从而创建高效的、专
业化的Windows应用程序。
下页
上页
返回首页
3.2 创建应用程序
3.2.1应用程序与应用对象
3.2.2创建应用程序
下页
上页
返回首页
3.2.1 应用程序与应用对象
1.应用程序的概念
每个PowerBuilder 9.0应用程序都必须、而且
只能有一个应用对象。可以说,应用对象代表
了应用程序,程序从应用对象开始执行。
应用对象对开发PowerBuilder 9.0应用程序至
关重要,开发应用程序的第一步是创建应用对
象。
下页
上页
返回首页
2.应用对象的事件
PowerBuilder 9.0是个面向对象的开发环境,
用它开发的应用程序以对象和事件驱动为基本
特征。
(1)Open事件
当运行应用程序时,首先触发应用对象的
Open事件,在这个事件的处理程序中应指示应
用程序启动后的处理。
下页
上页
返回首页
(2)Close事件
当用户终止应用程序时,将触发应用对象的
Close事件。
(3)Idle事件
调用函数idle()后,当没有键盘操作或鼠标移
动的时间为idle()函数指定时间时将触发该事件。
(4)SystemError事件
当程序运行过程中发生严重错误(如调用不
存在的对象)时,将触发应用对象的
SystemError事件。
下页
上页
返回首页
3.2.2 创建应用程序
创建应用程序的第一步是创建应用对象,而
创建应用对象之前必须首先创建工作区。创建
应用程序的操作方法如下:
1.启动PowerBuilder 9.0
要启动PowerBuilder 9.0,可以选择“开
始”→“程序”→“Sybase”→“PowerBuilder
9.0”→“PowerBuilder 9.0”命令,将打开
“PowerBuilder”窗口,该窗口是PowerBuilder
9.0的应用程序开发环境界面。
下页
上页
返回首页
2.创建工作区
当需要创建一个新的应用程序时,首先应该创
建工作区。
创建工作区的操作方法为:
(1)选择“File”→“New”命令(或单击PowerBar工
具栏“New”图标)。
(2) 选择“Workspace”选项卡,单击“OK”按钮。
(3)在“保存在”输入框中选择存储工作区的位置,
在“文件名”输入框中输入工作区名,单击
“保存”按钮,完成工作区的创建。
下页
上页
返回首页
3.创建目标、应用库、应用对象
当创建一个工作区后,就可以在其中创建应用程序的
应用对象,以及应用对象所属的应用库和目标。
操作方法为:
(1)选择“File”→“New”命令,将打开“New”对话框。
(2)选择“Target”选项卡→“Application”,单击“OK”按
钮,将打开“Specify New Application and Library”对话
框。
(3)在“Application Name”输入框中输入应用对象名,在
“Library”输入框中输入应用库名,在“Target”输入框
中输入目标名,单击“Finish”按钮,完成应用程序的创
建。
下页
上页
返回首页
4.实例
例3-1 设计“学生选课管理系统”。
分析:由于该应用程序为一小型系统,故采用一
个应用库、一个目标的结构。同时,为区别各
术语,分别对应用对象、应用库、目标、工作
区命名为不同名称。命名该应用程序的应用对
象名为“student”,应用库名为“student1”,目
标名为“students”,工作区名为“example1”,
并存储在“d:\example”文件夹中。
下页
上页
返回首页
操作步骤:
(1)选择“开始”→“程
序”→“Sybase”→“PowerBuilder
9.0”→“PowerBuilder 9.0”命令,打开“PowerBuilder”
主窗口。
(2)选择“File”→“New”命令,将打开“New”对话框。
(3)选择“Workspace”选项卡,单击“OK”按钮,将
打开“New Workspace”对话框,在“保存在”输入
框中选择存储工作区的位置为“d:\example”,在
“文件名”输入框中输入工作区名为“example1”。
(4)单击“保存”按钮,创建工作区“example1”。
下页
上页
返回首页
(5)选择“File”→“New”命令,将打开“New”对话
框。
(6)选择“Target”→“Application”,单击“OK”按钮,
将打开“Specify New Application and Library”对话
框,在“Application Name”输入框中输入应用对象
名为“student”,在“Library”输入框中输入应用库
名为“student1”,在“Target”输入框中输入目标名
为“students”。
(7)单击“Finish”按钮,创建应用程序“学生选课
管理系统”。在左侧系统树”窗口中,单击工作区
“example1”→目标“students”→应用库
“student1”→应用对象名“student”节点,可以查看
“学生选课管理系统”应用程序的结构。
下页
上页
返回首页
下页
上页
返回首页
3.3 连接数据库
3.3.1
3.3.2
3.3.3
3.3.4
数据接口概述
PowerBuilder 9.0数据接口类型
PowerBuilder9.0与SQL Server2000数据库连接
实例:学生选课系列版本1
下页
上页
返回首页
3.3.1 数据接口概述
PowerBuilder 9.0与数据库的连接是建立在
数据库接口驱动程序之上的,也就是说通
过数据库接口可以实现PowerBuilder 9.0与
数据库的连接。
下页
上页
返回首页
3.3.2 PowerBuilder 9.0数据接口类型
在PowerBuilder 9.0中,共提供了ODBC接口、JDBC接
口、OLE DB接口和数据库专用接口等四类数据库接口。
1. ODBC接口
ODBC(Open Database Connectivity)是Microsoft公司
制定的一个基于开放式数据库互连的应用程序编程接口
(API)。它允许应用程序使用SQL访问标准的数据库管
理系统中的数据。
下页
上页
返回首页
通过ODBC接口将PowerBuilder 9.0连接到SQL Server
2000的操作方法为:
(1)配置ODBC数据源
①单击PowerBar工具
栏“DB Profile”图标,列
出了系统已安装的数据
库接口。单击展开
“ODBC”→“Utilities”节
点。
下页
上页
返回首页
②双击“ODBC Administrator”节点,打开“ODBC数据
源管理器”对话框,单击“System DSN”选项卡。
下页
上页
返回首页
③单击“添加”按钮,打开“创建新数据源”对话
框。
下页
上页
返回首页
④在“选择您想为其安装数据源的驱动程序”列表框
中选择“SQL Server”选项,单击“完成”按钮,打开
“建立新的数据源到SQL Server”步骤一对话框。
下页
上页
返回首页
⑤在“名称”输入框中输入该数据源的名称,“说明”
输入框中输入对该数据源的描述,“服务器”下拉列
表框中选择要连接的数据库服务器名。单击“下一步”
按钮,打开“建立新的数据源到SQL Server”步骤二对
话框。
下页
上页
返回首页
⑥选择“使用用户输入登录ID和密码的SQL Server验
证”单选框,在“登录”输入框中输入登录用户名,
“密码”输入框中输入登录用户的密码。单击“下一
步”按钮,打开“建立新的数据源到SQL Server”步骤
三对话框。
下页
上页
返回首页
⑦在“更改默认的数据库为” 下拉列表框中选择要连接
的数据库名,单击“下一步”按钮,打开“建立新的数
据源到SQL Server”步骤四对话框。
下页
上页
返回首页
⑧单击“完成”按钮,打开“ODBC Microsoft SQL
Server安装”对话框。
下页
上页
返回首页
⑨单击“确定”按钮,完成配置ODBC数据源。单击
“测试数据源”按钮可以测试所定义的连接是否正确。
如果正确,系统将显示一个对话框,提示测试成功。
(2)连接到ODBC数据库
①单击PowerBar工具栏“DB Profile”图标,打开
“Database Profile”对话框。
②指向“ODB ODBC”节点,单击右键,打开快捷菜单,
选择“New Profile”命令,打开“Database Profile SetupODBC”对话框。
下页
上页
返回首页
③在“Profile Name”输入框
中输入数据库配置名称,
“Data Source”下拉列表框
中选择连接的数据源名。
单击“OK”按钮,返回
“Database Profile”对话框,
指向新建数据库配置名,
单击右键,打开快捷菜单,
选择“Connect”命令,实
现与数据库的连接。
下页
上页
返回首页
2. JDBC接口
JDBC(Java Database Connectivity)是由Sun
公司发布的一种标准的应用程序编程接口。利
用这个接口,Java应用程序能够访问到任何以
SQL为标准数据访问语言的数据库。
3. OLE DB
OLE DB也是Microsoft公司开发的一套标准的
应用程序编程接口,是在ODBC之后又开发的
一套API。
下页
上页
返回首页
4.数据库专用接口
数据库专用接口用于建立PowerBuilder 9.0应
用程序与数据库的直接连接。一般来说,专用
接口访问数据库的速度比通用接口(如ODBC
或OLE DB)更快。
下页
上页
返回首页
3.3.3 PowerBuilder 9.0与SQL Server
2000数据库连接
尽管ODBC、JDBC和OLE DB的通用性和适
用性都非常好,但是由于应用程序必须通过这
层接口和数据库相连接,往往导致性能的下降,
因此许多大型数据库的供应商提供了专用的数
据库接口和数据库连接。
数据库专用接口提供了高效访问大型数据库
的方法,通常比用通用接口更快。因此,要实
现PowerBuilder 9.0访问SQL Server 2000数据库,
就应该使用MSS Microsoft SQL Server数据库接
口。
下页
上页
返回首页
1.在PowerBuilder 9.0中实现连接
通过MSS Microsoft SQL Server专用数据库接口将
PowerBuilder 9.0连接到SQL Server 2000的操作方法为:
(1)安装并调通网络。
(2)安装SQL Server 2000。
(3)在安装PowerBuilder 9.0时,应安装了MSS Microsoft
SQL Server专用数据库接口。
(4)定义数据库配置。
(5)指向该配置名,单击右键,打开快捷菜单,选择
“Connect”命令,实现与相应数据库的连接。
下页
上页
返回首页
一般情况下,在系统正确安装的情况下,只需要创建新
的数据库配置。操作方法为:
(1)启动PowerBuilder 9.0,单击PowerBar工具栏
“Database”图标,打开“Database”窗口。
下页
上页
返回首页
(2)指向左侧窗口
“MSS Microsoft
SQL Server”节点,
单击右键,打开快捷
菜单,选择“New
Profile”命令,打开
“Database Profile
Setup”对话框。
下页
上页
返回首页
(3)在“Profile Name”输入框中输入创建的数据库配
置名,“Server”输入框中输入所连接的数据库服
务器名,“Login ID”输入框中输入登录数据库服
务器的用户名,“Password”输入框中输入Login
ID的登录密码,“Database”输入框中输入所连接
的数据库名。
只有采用混合验证模式才能使用sa用户,因为只
有采用混合验证模式才有sa用户。
(4)设置完各选项后,单击“OK”按钮,完成数据库
配置的创建。
下页
上页
返回首页
例3-2 为“学生选课管理系统”创建数据库配置。
(1)启动PowerBuilder 9.0,单击PowerBar工具栏“Database”图标,
打开“Database”窗口。
(2)指向左侧窗口“MSS Microsoft SQL Server”节点,单击右键,
打开快捷菜单,选择“New Profile”命令,打开“Database
Profile Setup”对话框。
(3)在“Profile Name”框中输入数据库配置名“s”;“Server”输入
框中输入所连接的数据库服务器名“X-7JI6C0G0ENQSZ\ZZJ”;
“Login ID”输入框中输入登录数据库服务器的用户名“sa”;
“Password”输入框中输入Login ID的登录密码“zzj2000”;
“Database”输入框中输入所连接的数据库名“student”。
下页
上页
返回首页
(4)单击“OK”按钮,返回“Database”对话框,单击展开
左侧窗口“MSS Microsoft SQL Server”,指向数据库配
置“s”,单击右键,选择“Connect”命令,实现与数据
库student的连接。
下页
上页
返回首页
2.在应用程序中实现连接
应用程序与数据库的连接通过事务对象(默认为SQLCA)完成。
(1)Profile Name→右键→Properties→Preview:copy
(2)应用对象名→右键→Edit→open事件:Ctrl+V
(3)使用嵌入式SQL语句CONNECT建立连接:
connect using sqlca;
if sqlca.sqlcode=-1 then
MessageBox("提示","连接失败!")
return
else
MessageBox("提示","连接成功!")
end if
下页
上页
返回首页
3.3.4 实例:学生选课系列版本1
例3-3 创建“学生选课系统”,并设置运行该系
统时与后台数据库连接,同时显示连接结果。
说明:“学生选课管理系统”的后台数据库为安
装了SQL Server 2000数据库管理系统的数据库
服务器“X-7JI6C0G0ENQSZ\ZZJ”,采用混合
验证模式,sa用户的密码为“zzj2000”。其中
的数据库student包含了学生表s、课程表c和选
课表sc。
下页
上页
返回首页
下页
上页
返回首页
分析:
运行“学生选课系统”应用程序的第一步是执行应
用对象“student”,即触发应用对象“student”的Open
事件。要实现运行“学生选课系统”时即与后台数据
库连接,就需要对应用对象“student”的Open事件编写
脚本。脚本首先创建数据库配置,然后连接数据库,
最后判断连接的结果并显示。
脚本:
下页
上页
返回首页
操作步骤:
(1)按例3-1创建“学生选课系
统”。
(2)按例3-2创建数据库配置s。
(3)单击PowerBar工具栏
“Database”图标,打开
“Database”窗口,展开左
侧窗口“MSS Microsoft
SQL Server”,指向指定的
数据库配置,单击右键,
打开快捷菜单,选择
“Properties”命令,打开
“Database Profile Setup”对
话框,单击“Preview”选项
卡。
下页
上页
返回首页
(4)单击“Copy”按钮将该数据库配置的代码复制到剪贴板。
(5)展开左侧应用树窗口应用库“student1”节点,双击应用对
象“student”(或指向应用对象单击右键选择“Edit”命
令),打开应用对象设计界面,选择“Open”事件。
如果打开的窗口
界面与实例不符,
可以选择“View”
→“Layouts”→
“(Default)”命
令恢复系统默认
值。
下页
上页
返回首页
(6)单击应用对象设计界面窗口空白处,按Ctrl+V
粘 贴 数 据 库 配 置 代 码 , 将 “ SQLCA.LogPass=
<******>”改为“SQLCA.LogPass = ”zzj2000“”,
并输入连接及显示连接结果脚本。
(7)单击“关闭”按钮并保存。
(8)单击PowerBar工具栏“Run”图标,运行应用程
序。
下页
上页
返回首页
实训三 创建应用程序并连接数据库
实训名称:创建“学生选课系统”应用程序并设置运行时连接数据
库
目的要求:掌握应用程序创建方法以及在应用程序中实现与数据库
连接的方法
操作步骤:
(1)启动SQL Server 2000。
(2)假设数据库student中学生表(表名为“<班级>_<学号>_s”)、
课程表(表名为“<班级>_<学号>_c” )和选课表(表名“<班级
>_<学号>_sc” )已建立(参见例3-3),使用SQL-EM在学生、课
程和选课表中录入十名以上学生的真实数据。
(3)启动PowerBuilder 9.0,并熟悉操作方法。
下页
上页
返回首页
(4)创建工作区,指定工作区名为“<班级>_<学号
>”,并存放在D盘的<班级>_<学号>文件夹中。
(5)创建应用对象、应用库和目标,指定应用对象、
应用库及目标名均为“<班级>_<学号>”,并存放
在D盘的<班级>_<学号>文件夹中。
(6)创建数据库配置。
(7)测试连接数据库服务器。
(8)将数据库配置代码复制到应用对象中。
(9)编写连接数据库以及显示连接数据库结果的脚
本。
结束
放映
(10)运行应用程序。
下页
上页
返回首页