下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中文图形化数据库动态操纵的实现 cellSpacing=0 cellPadding=0 width="93%" border=0>cellSpacing=0 cellPadding=0 width="99%" border=0>【摘要】介绍了采用PowerBuider开发工具编程,实现数据库动态操纵(查询、插入、修改、删除)的设计思路和方法,该程序具有中文图形界面的突出特点。【关键词】数据库,动态操纵,PowerBuilder,中文,图形界面 The Implementation of Datab
2、ase Dynamic Manipulation with Chinese Graphical User Interface.Liang Lunfa (The Library of Beijing University of Posts & Telecommunications, Beijing)【Abstract】This paper presents a method to implementing Database Dynamic Manipulation(query,insert,update,delete) by using PowerBuilder;this program
3、 has distinct characters which can supply chinese graphical user interface.【Keywords】Database, Dynamic manipulation, PowerBuilder, Chinese , Graphical User Interface1序言数据库操纵包含查询(select)、增加(Insert)、更改(update)和删除(delete)四种操作。要实现对数据库的操纵,必须键入类似于select (表序列)、 from (列序列)、 where (条件表达式序列)之类的SQL语句,这需要操作员对SQ
4、L语句以及数据库结构有充分的了解。是否可以在我们开发的各系统的数据库管理中不需这样麻烦,而只要点击几下鼠标就能完成对数据库的操纵呢?这就是“中文图形化数据库动态操纵”的出发点。PowerBuilder是一个面向对象的用于构造基于客户/服务器(Client/Server)数据库应用系统的开发工具,具有强大的数据库应用程序开发功能,尤其是它提供的数据窗口(Data Window)专利工具,使其能够更加方便有效地访问与操纵数据库。实现本文所述功能的总体思路是:充分利用PowerBuilder数据窗口技术,在数据窗口中使英文字符和中文说明相对应,通过执行由操作数据窗口动态生成的SQL字符串,实现数据的
5、中文图形化动态操纵功能。笔者在开发“中图博览会业务管理系统”时,对其数据操纵的功能实现作了比较深入的研究,采用PowerBuilder6.5为开发工具,在UNIX操作系统和Sybase 11数据库系统环境下开发出了一个具有中文图形界面、可以实现数据库动态操纵功能的系统模块。通过该模块提供的数据库操作方法,数据库管理人员可高效方便地进行数据操纵。本文将以该开发环境为例对实现数据库动态操纵功能的设计思路和关键技术作扼要的叙述。2. 功能分析 典型的SQL语句的结构简单列举如下:(1) 查询:SELECT目标列FROM目标表WHERE条件表达式(2) 插入:INSERT INTO目标表(目标列) V
6、ALUES (目标列赋值)(3) 更新:UPDATE 目标表 SET(目标列=赋值)序列WHERE 条件表达式(4) 删除:DELETE FROM 目标表WHER条件表达式通过分析,从上面四种操作中抽象出四个公共元素,即:目标表、目标列、赋值和条件表达式,这四个元素可以在程序中用字符串代替。因此可以设计4个数据窗口,一个放要操纵的数据表,一个放数据列,一个放关系运算的检索条件,一个放赋值列。在程序中利用数据窗口灵活的数据控制功能,通过鼠标点击选择相关的数据,动态生成SQL语句。我们认为实现该功能主要有以下关键技术:(1)操作界面的中文化;(2)条件表达式的构建;(3)要运行字符串格式的SQL语
7、句,必须在字符串中考虑数值类型的转换;(4)执行查询操作后动态显示查询结果。3设计思路针对上面提到的关键技术,下面提出具体的设计实现思路:(1)采用PowerBuilder工具建立数据表的时候,可以对数据表和列进行说明,这些说明可采用简明的中文。数据表创建完成以后,PowerBuilder的系统表pbcattbl、pbcatcol和syscolumn分别记录了我们建立的表和列的各种信息,包括表和列的说明、列类型。我们每建立一个表,系统就在pbcattbl增加一条记录,在pbcatcol、syscolumn增加对应于表的列数的多条记录。这样,我们就可以利用这些特性来实现中文图形化的功能。(2)通
8、过分析where子句的结构,我们可以抽象出该数据窗口应该包括以下的内容:“序号”+“左括号”+“名称”+“比较符”+“条件”+“右括号”+“逻辑符(如有多行条件)”,因此可以设计一个数据窗口对象,使它包含如上的七列,其中“左括号”、 “比较符”、“右括号”、“逻辑符”等内容是固定的,编辑属性可以是下拉列表控件,而“名称”和“条件”要随选择的表和行的不同而不同,编辑属性必须是下拉数据窗口控件。(3)PowerBuilder可以运行嵌入SQL语句,其语法是:EXECUTE IMMEDIATE :string;因此可以将要执行的操作内容动态生成string,但是如果要插入或修改某些数据类型并不是ch
9、ar、varchar或text类型的列时,就要将string 类型的数据转换为相应的数据类型,如在Sybase 11数据库系统环境下,可调用convert()函数进行转换;如在DB2环境下,可调用cast()函数。(4)如果执行查询操作,应该将查询的结果显示出来,该查询结果会因选择的表、列和条件的不同而完全不同,因此可以调用syntaxfromsq1(sq1ca,str,strsty,error)函数和datawindow.create()函数,动态生成结果数据窗口。4实现步骤(1)创建系统操纵数据表在建立数据表时,将表和各列的表头(Header)信息完整地用中文输入。读取系统表的相关数据:p
10、bcattal中的Pbt_Tnam(表名)、Pbc_cmnt(表说明)字段,用数据管道工具传入到一个新表Sys_table表中,读取系统表pbcatcol中的Pbc_tname(表名)、Pbc_cnam(列名)、Pbc_Hdr(列说明)字段,用数据管道工具传入到一个新表Sys_column表中,并在Temp_column表中增加Pbc_sequence(列序号)、Pbc_Type(列类型)两个字段,以记录某列在表中的位置和类型。(2)创建数据窗口(Datawindow)对象数据表数据窗口d_table用来选择表,由Sys_table中的table_tnam和table_cmnt字段构成,只显示
11、table_cmnt(表说明)列。数据列数据窗口d_column用来选择所选表中的列,由Sys_column中的col_tname、col_cnam、col_sequence、col_Hdr、col_type字段构成,并且实际只要显示col_Hdr(列说明)列,以col_table、col_sequence排序。条件数据窗口d_where构成动态SQL字符串的where子句,它是SQL字符串的关键。该数据窗口包括以下的七部分:“序号”+“左括号”+“名称”+“比较符”+“条件”+“右括号”+“逻辑符”。“名称”的Edit属性为下拉数据窗口(DropDownDW),数据窗口选择d_column,
12、显示col_Hdr(列说明);“条件”的Edit属性中除选中Allow Editing(允许编辑)属性外,其余和“名称”完全一样;“比较符”、“逻辑符”、 “左括号”和“右括号”的Edit属性设置均可设置为下拉列表(DropDownListView),具体内容就不详细介绍了。赋值数据窗口d_value的功能是:当要执行“插入(insert)”或“更新(update)”操作时,接收操作员输入的数值。该数据窗口可以直接用字符串“col_cnam”、“col _Hdr”、“col_value”构成。(3)创建窗口对象并编码创建三个窗口(图略)。窗口w_choice用来选择执行的操作,上面放置4个单选
13、按钮;窗口w_process用来进行数据表、列、条件和赋值的操作,窗口上主要放置有4个数据窗口控件,控件名(数据窗口对象)分别为dw_table(d_table),dw_column(d_column),dw_where(d_where),dw_value(d_value),还有一个执行操作的按钮(bt_submit);窗口w_query用来显示查询操作的结果,主要有一个数据窗口控件,该控件的数据窗口是由查询操作动态生成的。W_choice的功能相对简单,只要向w_process传递一个string类型的参数就可以了。W_process接收w_choice传来的参数,在open事件中对w_pr
14、ocess做相应的处理。例如当接收的参数值为“query”(代表执行查询)时,该窗口的操作按钮显示为“执行查询”,并使赋值数据窗口(dw_value)的enabled属性为“假”;当接收的参数为“insert”(代表执行插入)时,该窗口的操作按钮显示为“执行插入”,并使条件表达式数据窗口(dw_where)的enabled属性为“假”。窗口内bt_submit(执行操作)按钮Clicked事件通过检查该按钮上显示的字符判断要执行的操作,同时运行SQL语句。如果执行的操作是“查询”,则将SQL语句作为参数传递给W_query窗口,如果是其他的操作,则直接调用EXECUTE IMMEDIATE :string语句,完成对数据库的操纵功能。W_query接收W_process窗口传来的参数,调用数据窗口动态生成函数显示查询结果。5. 结论 本文介绍了采用PowerBuilder开发工具编程实现数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年成都百万职工技能大赛(燃气管道客服员)备赛试题库(含答案)
- 2020-2025年房地产估价师之基本制度法规政策含相关知识通关题库(附答案)
- 铁路机车运用协议书
- 乌克兰中国核协议书
- CTT4000现场培训精要
- 天猫的爬虫协议书
- 穿墙打孔担保协议书
- 制药废水处理与资源化利用创新创业项目商业计划书
- 塑料管材增强纤维复合材料创新创业项目商业计划书
- 多功能卧室梳妆台柜创新创业项目商业计划书
- YY/T 1976-2025中医器械玻璃拔罐器
- 2025年泰安市公开招聘劳务派遣制工会社会工作者(52人)笔试考试参考试题及答案解析
- 第12课 中国共产党诞生 课件(内嵌视频)
- 2025年生活美容行业分析报告及未来发展趋势预测
- 2025年教师职称考试(道德与法治学科知识)(小学)模拟试题及答案
- 事业单位会计专业考试重点题解
- 零星工程维修服务方案
- 浙江省天域全国名校协作体2026届高三上学期10月联考技术试题(含答案)
- 超龄员工用工承诺书模板
- 2025年中国电磁兼容性(EMC)屏蔽设备行业市场全景分析及前景机遇研判报告
- 新版部编人教版三年级上册道德与法治全册教案教学设计含教学反思
评论
0/150
提交评论