第12章 PowerBuilder

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2) 通过ODBC建立PB与数据库的连接
PB的应用程序画板 ODBC数据源管理窗口
12.1
PB访问SQL Server数据库的方法
创建ODBC数据源的界面
设置ODBC数据源名及数据库服务器的界面
12.1 PB访问SQL Server数据库的方法 指定数据库服务器的登录方式及登录帐号及密码的界面
指定登录方式
2) 读者信息管理的代码设计
(1) 添加读者信息菜单项m_3_1 clicked事件的代码 flag3=8 // flag3为标识变量,flag3=8表示执 行的操作为:添加读者信息 open(readers) (2) 修改读者信息菜单项m_3_2 clicked事件的代码 flag3=9 //修改读者信息 open(readers) (3) 删除读者信息菜单项m_3_3 clicked事件的代码 flag3=10 //删除读者信息 open(readers) (4) 查询读者信息菜单项m_3_4 clicked事件的代码 flag3=11 //查询读者信息 open(readers) (5) readers窗口open 事件的代码
12.3.2
应用程序的界面与代码设计
//均为标识变量 //存放照片文件操作的 //存放照片文件操作的相关信息 //存放照片数据信息
1. 定义的全局变量
int flag,flag1,flag3 int i, fh 相关信息 string s_filepath, s_filename, s_code 2. blob bb_pic, bb_tmp 主控程序的界面及代码设计
4. 读者信息管理的界面及代码设计 1) 读者信息管理的界面设计
12.3.2
应用程序的界面与代码设计
控件类型 下拉框 单行编辑框 单行编辑框 单行编辑框 单行编辑框 静态文本框 复选框 说明 在修改、删除、查询读者信息时,通过该下 拉框为用户提供借书证号的选择 在添加读者信息时,用于借书证号的输入 用于姓名的输入 用于专业名的输入 用于出生时间的输入 在修改、删除、查询读者信息时,用于显示 读者的借书数量 用于表示是否有照片
12.3.2
应用程序的界面与代码设计
5. 图书信息管理的界面及代码设计
1) 添加、修改序的界面与代码设计
添加、修改、删除图书信息界面的主要控件
控件名称
ddlb_1 sle_0 sle_1 sle_2 sle_3 sle_4
控件类型
下拉框 单行编辑框 单行编辑框 单行编辑框 单行编辑框 单行编辑框
在PB中,通过事务对象连接数据库后,可有如下几种方法访问SQL Server中 的数据: (1) 通过数据窗口对象与数据窗口控件关联,对数据库中数据进行操作; (2) 通过数据窗口对象与数据存储对象关联,对数据库中数据进行操作; (3) 通过静态嵌入式SQL语句对数据库中数据进行操作; (4) 通过动态SQL语句对数据库中数据进行操作;
说明
在修改、删除、查询读者信息时,通过该下 拉框为用户提供借书证号的选择 在添加读者信息时,用于图书ISBN编号的输 入 用于输入图书名称 用于输入作者姓名 用于输入出版社 用于输入图书价格
sle_5
sle_6 cb_1 cb_2
单行编辑框
单行编辑框 命令按钮 命令按钮
用于输入图书复本数
用于输入图书库存数 实现图书信息的添加、修改、删除 退出当前界面
12.3.2
应用程序的界面与代码设计
(6) readers窗口ddlb_1下拉框selectionchenged事件的代码 功能:在修改、删除、查询读者信息时,根据用户通过下拉框选择的借书证号,在 界面显示该读者对应的其它信息。
(7) readers窗口cb_1 clicked事件的代码 功能:用户通过此命令按钮指定照片文件的路径,然后读取图像 文件到blob变量中。 (8) cb_2 clicked事件的代码 功能:此程序融合了读者信息“添加”、“修改”、“删除”功能的 实现。 (9) cb_3 clicked事件的代码 功能:退出当前界面。 close(parent)
读者信息管理界面的主要控件
控件名称 ddlb_1 sle_1 sle_2 sle_3 sle_4 st_6 cbx_1
p_1
cb_1 cb_2 cb_3
图片控件
命令按钮 命令按钮 命令按钮
用于显示照片
用于指定照片文件的路径 实现读者信息的添加、修改、删除 退出当前界面
12.3.2
应用程序的界面与代码设计
12.1
PB访问SQL Server数据库的方法
(a) PB界面访问数据库的方法 (b) PB应用程序访问数据库的方法
PB数据库画板 专用连 接方式 的DB Profil e 图标 ODBC连 接方式 的DB Profile 图标 ODBC 数据 源 PB应用程序
事务 对象
ODBC 数据 源
DB (a)
功能:关闭当前窗口。
close(parent)
12.3.2
应用程序的界面与代码设计
6. 图书借阅信息管理的界面及代码设计
1) 借、还书管理的界面设计
12.3.2
借、还书管理界面的主要控件
控件名称 ddlb_1 sle_1 sle_2 sle_3 sle_4 sle_5 sle_6 sle_12 ddlb_2 sle_7 sle_8 sle_9 sle_10 sle_13 ddlb_3 控件类型 下拉框 单行编辑框 单行编辑框 单行编辑框 单行编辑框 单行编辑框 单行编辑框 单行编辑框 下拉框 单行编辑框 单行编辑框 单行编辑框 单行编辑框 单行编辑框 下拉框
12.3.2
应用程序的界面与代码设计
2) 添加、修改、删除图书信息的代码设计
(1) 添加图书信息菜单项m_2_1 clicked事件的代码 flag3=4 // flag3为标识变量,flag3=4表示执行的操作为:添加图 书信息 open(book) (2) 修改图书信息菜单项m_2_2 clicked事件的代码 flag3=5 // 修改图书信息 open(book) (3) 删除读者信息菜单项m_2_3 clicked事件的代码 flag3=6 //删除图书信息 open(book) (4) book窗口open事件的代码 功能:flag3为操作标识变量,根据flag3的值确定对图书信息进行的操 作,然后给控件属性赋值。
12.3.1 数据库表结构的设计及定义的触发器
1. 数据库表结构的设计
修改后的XS表结构
字段名 借书证号 姓名 专业名 性别 出生时间 借书量 照片 照片标识 类型与宽度 Char(8) Char(8) Char(12) bit datetime integer image int 是否主码 √ 是否允许空值 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NULL NOT NULL 说明
12.3.2
应用程序的界面与代码设计
登录界面的主要控件
控件名称 控件类型 说明
3. 登录的界面与代码设计
(1)登录界面的设计
sle_bm
单行编辑框
用于输入用户名
sle_pass
单行编辑框
用于输入密码
cb_ok
命令按钮 命令按钮
用于用户名及密码的验证 用于退出当前界面
cb_exit
12.3.2
应用程序的界面与代码设计
1) 主控程序的界面设计
12.3.2
应用程序的界面与代码设计
菜单项名称及功能
菜单名称 m_0 m_1 m_1_1 m_1_2 m_1_3 m_1_4 m_2 菜单功能 登录 借阅信息管理 借书 还书 当前借阅信息查询 借阅历史查询 图书信息管理
m_2_1
m_2_2 m_2_3 m_2_4 m_3 m_3_1 m_3_2 m_3_3 m_3_4
输入登录帐号
输入登录密码
12.1
PB访问SQL Server数据库的方法
设置数据库配置图标参数的界面
指定连接数据库的界面
指定ODBC数据源名
选中此项
指定连接的数据库
指定数据库 配置图标名
12.2 PB应用程序访问SQL Server数据库的方法
导出配置文件的界面
在PB应用程序中,对数据库操作的步骤如下: (1) 为事务对象属性赋值; (2) 连接到数据库; (3) 根据需要,执行数据库操作; (4) 断开与数据库连接。 1) 直接在程序中对事务对象的属性赋值 2) 从配置文件读入属性值 (1) 建立配置文件 将事务对象连接数据库的属性值安排 在一个初始化文件中,当需要连接数 据库时,从该文件读入属性值。
1. PB应用程序与数据库的连接
12.2 PB应用程序访问SQL Server数据库的方法
(2) 从配置文件读取属性值 建立配置文件后,通过函数ProfileString()读取属性值,其使用方法如下:
ProfileString(file,section,key,default)
file:指定配置文件名; section:指定属性所在的节名; key:指定属性所对应的关键字; default:如果没有读到指定的属性值则用此默认值。
0:男,1:女
0:表示无照片,1:表示有照片
users表结构
字段名 username pass 类型 char(8) char(10) 是否主键 √ 是否允许空值 no no 含义 存放用户名 存放密码
12.3.1 数据库表结构的设计及定义的触发器
2. 定义的触发器
(1) JY表INSERT触发器的定义 USE XSBOOK GO CREATE TRIGGER tjy_insert ON dbo.JY FOR INSERT AS BEGIN UPDATE XS SET借书数=借书数+1 WHERE XS.借书证号 IN (SELECT inserted.借书证号 FROM inserted) UPDATE BOOK SET库存量=库存量-1 WHERE book.ISBN IN (SELECT inserted.ISBN FROM inserted) END
12.3.2
应用程序的界面与代码设计
(5) book窗口ddlb_1下拉表selectionchenged事件的代码 功能:在修改、删除图书信息时,根据用户通过下拉框选择的ISBN编号, 在界面显示该图书对应的其它信息。
(6) book窗口cb_1 clicked事件的代码 功能:此程序融合了图书信息“添加”、“修改”、“删除”功能的 实现。 (7) book窗口cb_2 clicked事件的代码
DB (b)
12.1
PB访问SQL Server数据库的方法
1. 通过PB界面访问SQL Server数据库
1) 通过专用方式建立PB与数据库的连接
PB数据库画板
设置数据库配置参数的窗口
12.1
PB访问SQL Server数据库的方法
创建XSBOOK数据库配置图标后的数据库画板
参数名称 设置的参数 值 XSBOOK 含义
Profile Name
配置图标名,自定
Server
liu
SQL Server服务器名
LoginID
sa
登录数据库服务器的帐号
Password
liu
登录数据库服务器的密码
Database
XSBOOK
连接的SQL Server数据库
连接XSBOOK数据库的各项配置参数
12.1
PB访问SQL Server数据库的方法
添加图书信息
修改图书信息 删除图书信息 查询图书信息 读者信息管理 添加读者信息 修改读者信息 删除读者信息 查询读者信息
12.3.2
应用程序的界面与代码设计
2) 主控程序的代码设计
(1) 应用对象lib_app open事件的代码 功能:设置事务对象SQLCA各属性参数的值,并通过SQLCA连接数据库,然 后打开主控窗口w_main_lib。 SQLCA.DBMS = "MSS Microsoft SQL Server" SQLCA.Database = "xsbook" SQLCA.ServerName = "liu" SQLCA.LogId = "sa" SQLCA.LogPass="liu" SQLCA.AutoCommit = False SQLCA.DBParm = "" connect using sqlca; open(w_main_lib) (2) 主控窗口w_main_lib open事件的代码 p_1.picturename="天堂.jpg" m_main_lib.m_1.enabled=false m_main_lib.m_2.enabled=false m_main_lib.m_3.enabled=false
相关文档
最新文档