教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> 中文图形化数据库动态操纵的实现

中文图形化数据库动态操纵的实现

上传者:网友
|
翻新时间:2013-12-18

中文图形化数据库动态操纵的实现

中文图形化数据库动态操纵的实现 中文图形化数据库动态操纵的实现 信息技术论文 更新:2006-4-8 阅读: 中文图形化数据库动态操纵的实现【摘要】 介绍了采用PowerBuider开发工具编程,实现数据库动态操纵(查询、插入、修改、删除)的设计思路和方法,该程序具有中文图形界面的突出特点。 【关键词】数据库,动态操纵,PowerBuilder,中文,图形界面

The Implementation of Database 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 has distinct characters which can supply chinese graphical user interface.

【Keywords】Database, Dynamic manipulation, PowerBuilder, Chinese , Graphical User Interface

1.序言

数据库操纵包含查询(select)、增加(Insert)、更改(update)和删除(delete)四种操作。要实现对数据库的操纵,必须键入类似于select (表序列)、 from (列序列)、 where (条件表达式序列)之类的SQL语句,这需要操作员对SQL语句以及数据库结构有充分的了解。是否可以在我们开发的各系统的数据库管理中不需这样麻烦,而只要点击几下鼠标就能完成对数据库的操纵呢?这就是“中文图形化数据库动态操纵”的出发点。

PowerBuilder是一个面向对象的用于构造基于客户/服务器(Client/Server)数据库应用系统的开发工具,具有强大的数据库应用程序开发功能,尤其是它提供的数据窗口(Data Window)专利工具,使其能够更加方便有效地访问与操纵数据库。实现本文所述功能的总体思路是:充分利用PowerBuilder数据窗口技术,在数据窗口中使英文字符和中文说明相对应,通过执行由操作数据窗口动态生成的SQL字符串,实现数据的中文图形化动态操纵功能。

笔者在开发“中图博览会业务管理系统”时,对其数据操纵的功能实现作了比较深入的研究,采用PowerBuilder6.5为开发工具,在UNIX操作系统和Sybase 11数据库系统环境下开发出了一个具有中文图形界面、可以实现数据库动态操纵功能的系统模块。通过该模块提供的数据库操作方法,数据库管理人员可高效方便地进行数据操纵。本文将以该开发环境为例对实现数据库动态操纵功能的设计思路和关键技术作扼要的叙述。

    功能分析

    典型的SQL语句的结构简单列举如下:

    (1) 查询:SELECT〈目标列〉FROM〈目标表〉WHERE〈条件表达式〉

    (2) 插入:INSERT INTO〈目标表(目标列)〉 VALUES (目标列赋值)

    (3) 更新:UPDATE 〈目标表〉 SET〈(目标列=赋值)序列〉WHERE 〈条件表达式〉

    (4) 删除:DELETE FROM 〈目标表〉WHER〈条件表达式〉

    通过分析,从上面四种操作中抽象出四个公共元素,即:目标表、目标列、赋值和条件表达式,这四个元素可以在程序中用字符串代替。因此可以设计4个数据窗口,一个放要操纵的数据表,一个放数据列,一个放关系运算的检索条件,一个放赋值列。在程序中利用数据窗口灵活的数据控制功能,通过鼠标点击选择相关的数据,动态生成SQL语句。

    我们认为实现该功能主要有以下关键技术:

    (1)操作界面的中文化;

    (2)条件表达式的构建;

    (3)要运行字符串格式的SQL语句,必须在字符串中考虑数值类型的转换;

    (4)执行查询操作后动态显示查询结果。

    3.设计思路

    针对上面提到的关键技术,下面提出具体的设计实现思路:

    (1)采用PowerBuilder工具建立数据表的时候,可以对数据表和列进行说明,这些说明可采用简明的中文。数据表创建完成以后,PowerBuilder的系统表pbcattbl、pbcatcol和syscolumn分别记录了我们建立的表和列的各种信息,包括表和列的说明、列类型。我们每建立一个表,系统就在pbcattbl增加一条记录,在pbcatcol、syscolumn增加对应于表的列数的多条记录。这样,我们就可以利用这些特性来实现中文图形化的功能。

    (2)通过分析where子句的结构,我们可以抽象出该数据窗口应该包括以下的内容:“序号”+“左括号”+“名称”+“比较符”+“条件”+“右括号”+“逻辑符(如有多行条件)”,因此可以设计一个数据窗口对象,使它包含如上的七列,其中“左括号”、 “比较符”、“右括号”、“逻辑符”等内容是固定的,编辑属性可以是下拉列表控件,而“名称”和“条件”要随选择的表和行的不同而不同,编辑属性必须是下拉数据窗口控件。

    (4)如果执行查询操作,应该将查询的结果显示出来,该查询结果会因选择的表、列和条件的不同而完全不同,因此可以调用syntaxfromsq1(sq1ca,str,strsty,error)函数和datawindow.create()函数,动态生成结果数据窗口。

    4.实现步骤

    (1)创建系统操纵数据表

    在建立数据表时,将表和各列的表头(Header)信息完整地用中文输入。读取系统表的相关数据:pbcattal中的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字段构成,只显示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,显示col_Hdr(列说明);“条件”的Edit属性中除选中Allow Editing(允许编辑)属性外,其余和“名称”完全一样;“比较符”、“逻辑符”、 “左括号”和“右括号”的Edit属性设置均可设置为下拉列表(DropDownListView),具体内容就不详细介绍了。

    赋值数据窗口d_value的功能是:当要执行“插入(insert)”或“更新(update)”操作时,接收操作员输入的数值。该数据窗口可以直接用字符串“col_cnam”、“col _Hdr”、“col_value”构成。

    (3)创建窗口对象并编码

    创建三个窗口(图略)。窗口w_choice用来选择执行的操作,上面放置4个单选按钮;窗口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_process做相应的处理。例如当接收的参数值为“query”(代表执行查询)时,该窗口的操作按钮显示为“执行查询”,并使赋值数据窗口(dw_value)的enabled属性为“假”;当接收的参数为“insert”(代表执行插入)时,该窗口的操作按钮显示为“执行插入”,并使条件表达式数据窗口(dw_where)的enabled属性为“假”。窗口内bt_submit(执行操作)按钮Clicked事件通过检查该按钮上显示的字符判断要执行的操作,同时运行SQL语句。如果执行的操作是“查询”,则将SQL语句作为参数传递给W_query窗口,如果是其他的操作,则直接调用EXECUTE IMMEDIATE :string语句,完成对数据库的操纵功能。

    W_query接收W_process窗口传来的参数,调用数据窗口动态生成函数显示查询结果。

      结论

      本文介绍了采用PowerBuilder开发工具编程实现数据库动态操纵功能的设计思路,并简单叙述了实现的方法和步骤。该方法可以在多种数据库系统环境下应用于各种数据库应用系统,包括电子商务系统的后台数据库管理。数据库动态操纵功能的灵活性,使得用户几乎可以完成所有可能的数据操纵要求(暂不能实现复杂查询功能,如Group分组)。但是数据库管理的灵活性和安全性是相互矛盾的,因此在以该思路开发具体的数据库应用系统时,应规划好数据库表的约束关系并在编码时充分考虑维护数据库的完整性;在运行时,应对该操作的权限进行严格控制。

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

雨中的小白花
假如我是一个设计师
老鼠开会
我的梦想
心中的花园
童年
妈妈的爱
清明回乡
我喜欢蓝色
快乐的奇乐儿童乐园
假如我是超人
我家的小狗
我们的六一
多彩的石榴
谁的本领大
2012年9月预备期满转正申请书
2012年学生预备党员转正申请书
2012年教师预备党员转正申请书
预备期党员预备期满如何转为正式党员
2012年9月大四预备党员转正申请
2012年预备党员转正申请
2012年大四学生预备党员转正申请
2012年研究生预备党员转正申请
2012年预备党员期满转正申请
2012年大学生预备党员转正发言稿
大学生预备党员转正评语
2012年9月公司技术员工预备党员入党转正申请
学生党员转正申请
2012年单位预备党员入党转正申请书
2012年教师入党转正申请书
试论方妙英民族音乐理论建树研究
城市轨道交通供电系统35 kV 电缆的选择
城市轨道线网规划评价决策方法研究
城市轨道交通减振降噪型轨道结构的选择
城市轨道交通高架车站结构研究
农村小学音乐教育存在的问题和建议
浅析赵松庭竹笛艺术的特点
新自由主义在拉美的发展变化及其前景
对近、现代手风琴发展的回顾与思考
京沪高速铁路(磁悬浮) 在液化和软土路段的基础型式
城市轨道交通高架车站结构动力分析
让政治为音乐做“嫁衣”
城轨交通接触网双导线风载体型系数的选用
城市轨道交通的列车定位技术
国外政治发展研究述评
《我要的是葫芦》阅读教学课堂实录及教后反思
《我要的是葫芦》教学设计4
《坐井观天》第二课时教学设计3
《坐井观天》说课设计
《坐井观天》教学设计3
《坐井观天》第二课时教学设计2
《我要的是葫芦》教学设计2
《坐井观天》说教法设计
《坐井观天》教学设计2
《我要的是葫芦》教学设计6
《我要的是葫芦》教学设计1
《我要的是葫芦》第一课时教学设计
《我要的是葫芦》教学建议
《我要的是葫芦》教学设计5
《我要的是葫芦》教学设计3