PB教程第四章.docx

上传人:b****7 文档编号:9260565 上传时间:2023-02-03 格式:DOCX 页数:14 大小:120.86KB
下载 相关 举报
PB教程第四章.docx_第1页
第1页 / 共14页
PB教程第四章.docx_第2页
第2页 / 共14页
PB教程第四章.docx_第3页
第3页 / 共14页
PB教程第四章.docx_第4页
第4页 / 共14页
PB教程第四章.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

PB教程第四章.docx

《PB教程第四章.docx》由会员分享,可在线阅读,更多相关《PB教程第四章.docx(14页珍藏版)》请在冰豆网上搜索。

PB教程第四章.docx

PB教程第四章

第四章数据库管理

PowerBuilder主要是作为一个数据库应用程序的前端开发工具而被使用。

但它自身也带有一个本地数据库管理系统SYBASESQLANYWHERE,利用它可以创建本地数据库并对它进行操作。

由于PowerBuilder无论是和后台的大型数据库相连,还是和PowerBuilder自建的本地数据库相连,原理基本一样,都是采用标准的ODBC接口的方法。

所以不失一般性,在本节中主要以对本地数据库的操作来认识PowerBuilder的数据库方面的内容。

4.1对数据库的操作

4.2对表的操作

4.3对视图的操作

4.4对数据库中的数据的操作

4.1对数据库的操作

下面的过程说明了对数据库进行操作的一般步骤:

单击POWERBAR工具条上的DATABASE画板按钮,系统在打开DATABASE窗口的同时弹出SELECTTABLES对话框,用来选择将要被打开的表,列表框中的表是系统当前所连接的数据库中所有的表,选中其中的某个表,比如选择刚才创建的MYTELEBOOK表,然后单击OPEN按钮,相应的表就出现在数据库画板中,然后就可以对这个表进行各种需要的操作了。

对于后台数据库而言,创建和管理数据库是数据库管理员的事,PowerBuilder不需要干预。

但是对于由PowerBuilder自身创建的本地数据库而言,PowerBuilder则提供了全面的数据库操作支持。

单击FILE菜单的CREATEDATABASE菜单项后,弹出CREATELOCALDATABASE对话框,在这个对话框中选定数据库的存放目录为D:

\DATABASE,设定数据库名字为MYDATABASE,然后单击OK按钮,系统就为我们创建了一个新的数据库,同时自动把这个数据库设为系统当前连接的数据库。

如果要删除一个数据库,只要在FILE菜单中选择DELETEDATABASE菜单项,然后在弹出的对话框中选择要删除的数据库就可以了。

从FILE菜单中选中CONNECT菜单项,系统弹出一个子菜单(图4-1),其中的菜单项被分成了两部分,上面部分中的菜单项代表了系统可以连接的数据库描述的名字,数据库描述是用来定义和存放与某个特定的数据库或者数据源相连时所需要的各种参数的,它将在程序进行数据库相连时被使用,为连接工作提供所需要的各种参数。

加了选中标记的表示系统当前所连接的数据库来自这个数据库描述。

如果我们单击其它的数据库描述,系统将会把这个描述中的数据库设置成当前数据库。

CONNECT菜单的下面部分的两个菜单项是非常重要的,它们用于配置数据库的信息。

选中PROMPT菜单项,系统弹出名为DBMS的对话框,让用户选择数据库管理系统,列表框中列出的是当前PowerBuilder支持的所有类型的数据库管理系统。

这里选择ODBC类型,它最常用,也最具有通用性。

选好后单击OK按钮,弹出一个对话框让我们选择数据源(图4-2),也就是数据库的名字,这里显示的数据库都是可以使用ODBC方式访问的数据库,也就是我们刚才选中的ODBC类型的数据库。

选择我们以前创建的TELEBOOK数据库,然后单击OK按钮,系统就连接到被选中的数据库并打开SELECTTABLES对话框用来选择数据库中的表,从这里开始就可以对当前的数据库进行你需要的操作。

关闭SELECTTABLES对话框,单击FILE菜单,然后选中CONNECT菜单项,可以发现这是它的子菜单中没有一个处于选中状态,也就是说没有一个数据库描述被选中,这是因为此时我们没有利用数据库描述来间接连接数据库,而是采用交互的方法直接选中了一个实际的数据库并打开它。

图4-1

图4-2

接下来选中CONNECT菜单的SETUP菜单项,弹出名为DATABASEPROFILES对话框(图4-3),这个对话框用来配置数据库描述,对话框中列出的是系统当前已有的数据库描述的名字,选中其中的某一个,比如这里选中先前创建的TELEBOOK数据库描述,然后单击EDIT按钮,系统弹出DATABASEPROFILESETUP对话框(图4-4),利用这个对话框就可以对数据库描述进行编辑和修改,看一下对话框中比较重要的几项,PROFILENAME栏用来给当前的数据库描述起一个名字,DATASOURCE一栏是非常重要的,其中包含当前的数据库描述所对应的数据库的名字,它决定了将来选中这个数据库描述启动的是哪个真正的数据库。

设好数据库描述后单击OK按钮,又回到了DATABASEPROFILES对话框,这次单击NEW按钮,在弹出的对话框中设置数据库描述,即取名为TEMP,列表框中显示的是系统已存在的数据库,比如从中选择TELEBOOK,然后单击OK按钮,就为新建的数据库描述TEMP定义好了所连接的实际数据库。

从这里可以看出,几个不同的数据库描述,比如这里的TELEBOOK和TEMP,可以指向同一个数据库,这样为数据库的共享提供了便利。

如果要删除一个数据库描述也是非常方便的,在DATABASEPROFILES对话框中选中要删除的数据库描述,然后单击DELETE按钮,就删除了这个数据库描述,以后就不可以用这个数据库描述来连接数据库,关闭对话框后观察FILE菜单的CONNECT菜单项的子菜单,可以发现已经没有了刚才被删除的数据库描述。

有一点要注意的是,删除一个数据库描述对它原来所连接的数据库本身是不会有任何影响的,它依然可以被其它的数据库描述所连接。

图4-3

图4-4

4.2对表的操作

上面主要讨论了对数据库的操作,接下来就来介绍表的操作。

单击POWERBAR工具条上的TABLE画板按钮,就可以开始对系统当前所连接的数据库中的表进行操作了,系统当前弹出的是名为OPENTABLE的对话框,利用它可以打开一个已有的表,在对话框的底部有两个复选框,第一个被选中时将把所有的系统表格都显示在对话框中,第二个复选框被选中时表示选中的表将以只读的方式打开,这样可以保证表不被随意地修改。

单击OPENTABLE对话框中的NEW按钮,在弹出的CREATETABLE对话框中就可以定义表的各种信息,因为在前面我们介绍过如何创建一个表,这里就不再举例子,只说明一下对话框中所有栏目的含义,以便于你在定义表时知道该如何使用这些选项。

在对话框的上部分是用来定义表的基本信息,其中COLUMNNAME用来定义字段名,DATATYPE定义字段的数据类型,WIDTH定义字段的数据宽度,DEC用来定义当字段为数值型时的小数位数,NULL栏用来定义这个字段是否可以取空值,也就是是否可以不取值,DEFAULT栏用来定义这个字段的缺省属性,一般情况下就设为NONE,在对话框的下部是用来定义字段的扩展属性,其中FORMAT栏用来定义字段的显示风格,EDIT用来定义字段的编辑风格,VALIDATION一栏用来定义字段值的有效性检查规则,JUSTIFY定义字段的对齐方式,分左对齐,右对齐,居中对齐三种方式。

HEIGHT和WIDTH分别用来定义字段显示时字段显示的高度和宽度。

INITIAL则是用来定义字段的初始值,也就是在我们创建一条新记录时系统会自动给这个字段赋的初值。

HEADER和LABEL栏分别用来定义字段的题头和标签,它们一般用在显示数据的时候标明是哪一个字段的值,最后一项COMMENT栏是用来输入有关这个字段的辅助信息,以便于以后查看方便。

要指出的是这里的有些项,比如EDIT,FORMAT等只能从下拉列表框中选择,如果没有合适的选项,就需要在定义好表之后再为相应的字段创建新的编辑风格,显示风格等。

把先前创建的表MYTELEBOOK打开到DATABASE画板中,在表的标题上单击鼠标右键,系统弹出一个菜单(图4-5),菜单的第一项CLOSE是用来关闭这个表。

菜单的第二项ALTERTABLE用来对表的定义作出一些修改,选中这个菜单项后系统会弹出ALTERTABLE窗口用来对表的一些属性作修改,在ALTERTABLE窗口中有一些属性,如字段的类型等是灰色显示的,这表示这些属性是不能修改的,否则会影响表中的已有数据和产生其它负面影响。

所以系统不允许修改。

弹出的菜单的第三项是PROPERTIES菜单项,用来设置表的总体属性。

选中这个菜单项,从弹出的对话框的标签可以看出在这里可以定义表的主键,对表的注解,还有表中显示的数据的字体等。

弹出菜单的第四项是NEW,它又有两个子菜单项,选中INDEX子菜单项,弹出CREATEINDEX对话框,在这里可以定义表的索引字段和索引的名字,定义索引的好处是可以加快从表中搜索数据的速度,NEW菜单的第二个子菜单项FOREIGNKEY是用来定义表的外部码,所谓外部码就是当前表的一些字段的组合,这些字段的组合同时又是另一个表的主键。

弹出的菜单的第五项DROPTABLE的作用是删除表,建议不要轻易删除一个表,因为删除后就不能恢复了。

弹出的菜单的第六项EDITDATA用来对表中的数据进行操作,例如往表中增加记录等。

菜单的第七项是有关数据管道的内容,放在以后介绍。

菜单的最后一项PRINTDEFINITION被选中后将在打印机上打印出当前表的定义,打印的格式类似表定义时的格式。

图4-5

用鼠标右键单击表的任一字段,弹出的菜单包含DEFINITION和PROPERTIES两个菜单项,DEFINITION菜单项的作用是在弹出的ALTERTABLE窗口中对选中的字段修改它的某些被允许修改的属性,当然你也可以利用这个窗口修改其它字段的某些属性。

选中PORPERTIES菜单项后系统弹出名为COLUMN的对话框,利用这个对话框可以为字段添加注释,改变题头和标签,定义字段的显示风格,编辑风格,有效性检查规则等,在定义字段的某些属性——如显示风格时——如果没有所需要的选项,这时就可以利用单击NEW按钮来创建一个新的选项,如新的显示风格等。

 4.3对视图的操作

上面介绍了对数据库中的表的操作,下面要介绍的是数据库中一个很重要的对象--视图的有关操作。

视图并不是真正的表,也没有自己的数据。

它的数据可以来自一个或多个数据库中的表和视图。

使用视图的好处在于隐藏数据库中表的真正结构,只向用户提供需要的并且有访问权限的字段,这样既方便了用户,同时也可以保证数据库中表的安全性。

接下来就来创建基于我们以前创建的表MYTELEBOOK的视图,虽然这里创建的视图是基于一个表的,比较简单,但还是能说明对视图的基本操作。

首先确定当前系统连接的数据库为先前创建的TELEBOOK,然后单击PAINTERBAR工具条上的CREATEVIEW画板,系统在打开名为VIEW的窗口之后,又弹出一个名为SELECTTABLES的对话框,用来选择要创建的视图所基于的表和视图。

选择一个以前创建的表MYTELEBOOK,然后单击OPEN按钮,系统关闭对话框并回到打开的VIEW窗口(图4-6),在这个窗口中就可以定义具体的视图了。

观察VIEW窗口,其中的表正是刚才选中的用来创建视图的表MYTELEBOOK。

前面已经说了,视图是逻辑上的表,它的字段来自创建它的表和视图,比如单击表MYTELEBOOK上的NUMBER字段,它就出现在窗口上部的SELECTIONLIST栏中,表示这个字段已经被选中作为视图的一个字段,用类似的方法可以选择其它的表中的字段加到视图中。

图4-6

要注意的是视图的字段可以是表中的若干字段通过运算后得到的结果,我们叫它计算字段,下面就来为视图定义一个计算字段,单击窗口下部的COMPUTE标签,在COMPUTEDCOLUMNS栏中输入计算字段的计算表达式,这里不妨输入“HOME-ADDRESS+STRING(POSTCODE)”,(注:

此处需要选着的,右键选择COLUMNS,再选着需要的对象)输入的内容的意思是使用STRING函数把数值型的邮政编码字段POSTCODE转换为字符串类型后与同样是字符串类型的家庭地址字段HOME-ADDRESS的值相连,作为计算字段的值。

然后我们在ALIAS栏中给这个新建的计算字段起个字段名为ADDRESS。

事实上创建一个视图就是使用SQL语言的SELECT语句从表中过滤出有效的字段和记录作为视图的数据。

使用窗口的下部的SORT,WHERE,GROUP,HAVING等标准的SELECT查询语句的语法标签可以设置查询条件。

这里就不再为视图添加查询条件了,单击SYNTAX标签,标签下面的工作区中列出的就是系统按照刚才的要求自动生成的创建视图所需要的SQL语句。

单击PAINTERBAR工具条上的RETURN画板,弹出SAVEVIEWDEFINITION对话框,为新创建的视图起个名字,这里不妨给它起名为MYTELEVIEW,然后单击CREATE按钮,本地数据库管理系统SYBASESQLANYWHERE就根据SQL语句自动生成视图MYTELEVIEW,创建好的视图显示在数据库窗口中,它有四个字段直接来自表MYTELEBOOK,而字段ADDRESS则来自得到的计算字段。

这样一个数据库中的视图就创建好了。

对程序员而言,操作数据库中的表和视图没有多大的区别,但由于视图中并没有数据,它的数据完全来自于它所基于的表和视图。

所以对视图的操作最终将是对视图所基于的表的操作,由于一个表可以创建出多个视图,另外也由于要保持数据库中的数据的安全性和数据完整性,所以对视图的操作有一些限制,在刚创建的视图MYTELEVIEW的标题上单击鼠标右键,系统弹出一个菜单,其中的菜单项就是我们可以对视图可以进行的一些操作,我们可以删除,关闭视图,也可以对视图中的数据进行操作等。

但与表不同的是,我们不可以重新定义一个视图的字段,如果确实需要的话,只能再重新创建一个视图。

此外视图也没有表所具有的索引和外部码。

事实上这些东西对于视图而言也是没有意义的。

4.4对数据库中的数据的操作

到目前为止,我们已经学会了创建和连接数据库,也学会了为数据库创建表和视图,以及如何对表中的数据进行修改,比如插入一条记录等。

对视图中的数据的操作和对表中的数据的操作是类似的。

下面再介绍一下对表中的数据的常用操作。

4.4.1操作记录

打开表MYTELEBOOK,观察PAINTERBAR工具条,在上面有三个类似的按钮,都称为DATAMANIPULATION,单击它们将可以对当前表中的数据进行操作,它们的不同之处在于显示在窗口中的数据的样式不一样,你可以根据需要选择你所喜欢的样式。

在单击DATAMANIPULATION画板后就进入了数据操作窗口(图4-7),下面对PAINTERBAR工具条上的按钮进行介绍,RETRIEVE按钮的作用是从数据库中取回数据并显示在窗口中。

SAVECHANGES按钮是在窗口中的数据被修改后保存修改的结果到真正的数据库中。

INSERTROW和DELETEROW分别是在窗口中插入和删除一条记录。

FIRST,PRIOR,NEXT,LAST四个按钮用在当窗口中定位记录的。

PRINT按钮的作用是打印出窗口中的记录。

这里要特别强调的是所有对窗口中的数据的修改都只是对缓冲区中的数据的修改,必须使用SAVECHANGES画板才能把修改的结果真正存储到数据库中。

图4-7

4.4.2数据存储文件格式

对于显示在窗口中的数据,还可以以其它的文件格式保存起来,以使得数据可以被其它使用不同格式文件的软件所处理。

单击FILE菜单的SAVEROWSAS菜单项,在弹出的对话框中我们可以选择存储的文件的类型和路径(图4-8)。

存储好之后这个文件就可以被其它的软件调用。

我们也可以把其它格式的文件中的数据引入到数据操库中作为新的记录。

单击ROWS菜单的IMPORT菜单项,单击“文件类型”下拉列表框,可以看出可以用来引入数据的文件类型有TABSEAPRATED方式的TXT文件和DEBASE系列中的DBF文件。

图4-8

我们可以为记录排序,单击ROWS菜单的SORT菜单项,就可以定义排序的字段,比如这里定义NUMBER字段为升序(图4-9),然后单击OK按钮,窗口中的记录就会按升序排列。

另外也可以过滤出窗口中的一些记录,单击ROWS菜单的FILTER菜单项,在弹出的对话框中就可以定义过滤的条件,比如定义为“NUMBER>3”,然后单击OK,窗口中将只显示编号大于3的记录。

图4-9

最后介绍一下日志的概念,在DESIGN菜单中有一项是START/STOPLOG,它的作用是启动或关闭日志,启动日志后系统会把数据库管理系统生成的所有SQL语句显示在ACTIVITYLOG窗口中,这里不妨生成一个新的视图TEMP,然后观察ACTIVITYLOG窗口,其中的内容就是生成视图的SQL语句(图4-10)。

我们可以把窗口中的SQL语句保存起来为以后使用。

单击DESIGN菜单的CLEARLOG菜单项,可以清除ACTIVITYLOG窗口,以便开始新的日志。

图4-10

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1