




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、引导名、ODBC数据源作用示意图数据库AsaSql serverAccessODBC数据源数据库引导名PB这里也可以用专用接口此处可导出为引导文件建议起名规则:v数据库:siasstuddb.dbvODBC数据源:siasstudsourcev数据库引导名: siasstudprofilev引导文件:siasstudini.iniv日志文件:siasstudlog.log说明:v在A机上创建了数据库,ODBC数据源,引导名、引导文件v在B机上移植了数据库(即把数据库拷贝过去即可,但此处容易出现路径错),要重新设置ODBC数据源,要导入引导文件然后进行连接(connect)。v以上过程模拟演示数
2、据库移植时容易出现的问题v数据库找不到,不可用. :cannot connect to the database sever: the specified database is invalid. v原因:使用了日志(log)文件且路径与其原始路径不相一致.v解决方法:v1.一开始创建库时就不使用日志文件v2.让移植后的库文件放在与移植前相同的路径下v3.找到如下.SybaseSQL Anywhere 8win32里面的DBLOG.EXEv把dblog.exe复制到你的db文件目录下使用v再使用DOS命令:vDblog t 新日志文件名 数据库名v就可以改变日志文件中路径描述不匹配的情况.2.
3、9 简单应用实例 PowerBuilder可以高效率地编制一个具有数据的“插、删、改、打印和备份”功能的小程序。首先创建一个简单数据库:“c:mydb”以及其中的表,然后,创建工作空间:“WK1”和应用:“aa”,再新建窗口:“w1”和数据窗口对象:“dd”,最后,给窗口中的各个控件编写脚本。 【例2.5 】一个具有简单“插、删、改、打印和备份”功能的应用程序。 (部分代码分析与讲解)第三章第三章 数据库画板数据库画板 数据库数据库(表表)及其主键、外键、索引的及其主键、外键、索引的建立和定义是进行实际开发工作的建立和定义是进行实际开发工作的第一步第一步! 在建立数据库在建立数据库(表表)之前
4、,开发人员应进行之前,开发人员应进行详细的系统分析,其中包括详细的系统分析,其中包括该建哪些表和表该建哪些表和表的字段及数据类型、宽度的字段及数据类型、宽度以及以及主键、外键、主键、外键、索引索引的规划等。的规划等。 在在数据库画板数据库画板内,可以执行数据库的内,可以执行数据库的大部分数据管理大部分数据管理功能功能,主要包括以下内容:,主要包括以下内容:建立数据表、主键、外键、索引、修改属性、建立数据表、主键、外键、索引、修改属性、数据视图和执行交互式数据视图和执行交互式SQL命令等。命令等。v3.1 数据表操作创建数据库和数据表数据库画板工具layout视图窗格v3.2 数据表设计数据表属
5、性窗格主键、外键和索引列属性维护扩展属性v3.3 数据表数据维护数据输入数据排序与过滤3.1 3.1 数据表操作数据表操作 数据库中的数据一般都存储在表中,数据库中的数据一般都存储在表中,数据表数据表(Table)是一个是一个实体实体,有唯一的名称,表是由行与列,有唯一的名称,表是由行与列组成的,每一行都是对这种实体完整性的描述。组成的,每一行都是对这种实体完整性的描述。 数据表数据表是数据存储的是数据存储的基本单元基本单元,它可以看作一,它可以看作一组行和列编号的数据集合,在关系数据表中,行被组行和列编号的数据集合,在关系数据表中,行被称为记录,而列则被称为字段。数据表中常用概念称为记录,而
6、列则被称为字段。数据表中常用概念如下:表、字段、记录、主键、关系。如下:表、字段、记录、主键、关系。3.1.1 3.1.1 创建数据库和数据库表创建数据库和数据库表 PowerBuilder自带一个小型关系型数自带一个小型关系型数据库管理系统据库管理系统“Adaptive Server Anywhere”,支持多种平台应用。,支持多种平台应用。 【例例3.1 】创建数据表,存储表创建数据表,存储表3.1中的信息,中的信息,数据库表名定义为:数据库表名定义为:“boy”。(略略)注意:v必须有主键才能插入记录主键可以是一个字段或多个字段的组合,提倡用前者,而且主键必须设计为not null(非空
7、),两条记录的主键不能重复vchar与varchar的区别Char是固定长度的字符串,若定义宽度为10,若长度不为10时用空格补齐Varchar是可变长度的字符串,长度不足时不用空格补vDate类型宽度固定vDecimal类型需要指定小数位数v操作技巧:恢复默认试图状态。Viewlayoutdefault3.1.2 3.1.2 数据库画板工具栏数据库画板工具栏 数据库画板工具栏有数据库画板工具栏有“PainterBar1”、“PainterBar2”和和“PainterBar3”三个,其中三个,其中“PainterBar1”主要是针对于数据库表进行操作,主主要是针对于数据库表进行操作,主要是:
8、要是: Connect、Disconnect、 Save、 Create Table、 Drop Object等。等。 “PainterBar2”主要是对主要是对“Interactive SQL”交互交互式式SQL语句进行操作,主要是:语句进行操作,主要是:Cut、Copy、Paste、Paste SQL、Select ALL、Comment等。等。 “PainterBar3”主要是针对记录进行操作,主要是:主要是针对记录进行操作,主要是:Retrieve、 Save Changes、 Insert Row、 First、 Next等。等。3.1.3 Layout3.1.3 Layout视图窗
9、格视图窗格 在数据库画板中,用鼠标右键单击表,在数据库画板中,用鼠标右键单击表,在弹出的快捷菜单中选择在弹出的快捷菜单中选择“ Add to Layout”子菜单项,则子菜单项,则PB系统将把该表以图形的方式系统将把该表以图形的方式直观地显示在直观地显示在“Layout object”视图中。视图中。 并可并可形象直观形象直观地看到主键外键索引等地看到主键外键索引等. 3.2 3.2 数据表设计数据表设计 在数据库画板中,在数据库画板中,有多种操作方法可有多种操作方法可以对数据库的表进行修改与维护以对数据库的表进行修改与维护,建立数据,建立数据表的另一种方法是:右击数据库资源表的另一种方法是:
10、右击数据库资源“Tree”中的中的“Tables”项,并在弹出的快捷菜单中项,并在弹出的快捷菜单中选择选择“New Tables.”菜单项。菜单项。3.2.1 3.2.1 数据表属性窗格数据表属性窗格 在数据库画板对象的在数据库画板对象的“Objects”视图中,视图中,鼠标右击数据表,在弹出的快捷菜单中选鼠标右击数据表,在弹出的快捷菜单中选“Properties”菜单项,可打开表的属性视图窗菜单项,可打开表的属性视图窗格。格。 在表的属性视图中,可以设定此数据表的在表的属性视图中,可以设定此数据表的相关属性,共有四个标签页:相关属性,共有四个标签页:Data Font属性、属性、Genera
11、l属性属性 、 Heading Font属性、属性、 Label Font。 设置完成后,可以单击工具栏中的设置完成后,可以单击工具栏中的“Save”图标保存修改图标保存修改(一定不要忘记哦)(一定不要忘记哦)。说明:vData FontHeading Font属性:在设置之后要保存,再重新打开表中数据,才能看到设置之后的效果3.2.2 3.2.2 主键、外键和索引主键、外键和索引 表的主键表的主键(Primary Key)是能够是能够唯一标识每一行数唯一标识每一行数据据的的一列或若干列的集合一列或若干列的集合。定义表的主键可以保证表的。定义表的主键可以保证表的引用完整性,如果数据库管理系统引
12、用完整性,如果数据库管理系统(DBMS)支持主键支持主键(绝绝大多数大多数DBMS都具备此项功能都具备此项功能),就应该为每个数据表,就应该为每个数据表定义各自的主键。主键必须非空,在输入表内容时必须定义各自的主键。主键必须非空,在输入表内容时必须输入输入 外键外键(Foreign Key)是指表中的一个或多个列与其是指表中的一个或多个列与其它表中的主键建立的对应关系,在关系数据库中,可以它表中的主键建立的对应关系,在关系数据库中,可以利用外键连接多个表,保证数据库的参照完整性。利用外键连接多个表,保证数据库的参照完整性。举例说明班级表和学生表结构和内容(主表和依附表)如下页举例说明班级表和学
13、生表结构和内容(主表和依附表)如下页 外键的建立步骤如下:外键的建立步骤如下:v1、创建一个主表,如classtable,其中classid设为主键v2、创建一个依附表,如studenttable,其中id设为主键,再将其classid设为外键v设好外键后,若看不到图,可右击主表与依附表,选add to layout 对应规则有三类,它们的含义分别是:对应规则有三类,它们的含义分别是:vDisallow if Dependent Rows Exist(RESTRICT)如果依附表存在,则不允许删除主表中的对应记录(限如果依附表存在,则不允许删除主表中的对应记录(限定)定)vDelete any
14、 Dependent Rows(CASCADE)主表记录删除时主表记录删除时,把依附表中对应的记录删除(级联,把依附表中对应的记录删除(级联,层叠)层叠)vSet Dependent Columns to NULL(SET NULL)主表记录删除时主表记录删除时,把依附表中对应的记录设为空(设置把依附表中对应的记录设为空(设置为空)为空) v索引的创建与主键类似。索引的创建与主键类似。vunique:唯一性索引唯一性索引,不允许数据重复不允许数据重复vAscending:升序升序,不选择则为降序不选择则为降序.补充补充数据库的引用完整性就是定义外关键字与主关键字之间的引用规则。如果要删除被引用
15、的对象,那么也要删除引用它的所有对象,或者把引用值设置为空(如果允许的话)。例如,学生和班级关系中,删除某个班级元组之前,必须先删除相应的引用该班级的学生元组。这就是引用完整性。3.2.3 3.2.3 列属性维护列属性维护 在定义数据表时,同时也定义了列的类型、在定义数据表时,同时也定义了列的类型、初值等基本属性。在数据库画板中还可以定初值等基本属性。在数据库画板中还可以定义列的其它属性,包括义列的其它属性,包括显示格式、编辑风格、显示格式、编辑风格、有效性规则有效性规则等。等。 列的属性定义方式与表的属性类似列的属性定义方式与表的属性类似,该属性,该属性视图共有五个标签页:视图共有五个标签页
16、: General、 Headers、 Display、 Validation、 Edit Style。vGeneral:用于显示表名、列名、列号等信息,并用以输入注释(comments)vHeaders:“label”文本框内输入的汉字和”Heading”列表框中输入的汉字,可以在数据以不同风格显示时替代原来的西文字段名,Heading可以做标题, label可以在自由格式输入时作提示标题。注:可在edit datagrid(或freeform)中尝试不同的效果vDisplay: 数值型数据有不同的显示格式可供选择。3.2.4 3.2.4 扩展属性扩展属性 列的列的“Display Form
17、ats”、“Edit Styles”、“Validation Rules”属性在表的属性窗口中只能引属性在表的属性窗口中只能引用而不能对其定义用而不能对其定义 在在数据库画板数据库画板中选择中选择“View/Extended Attributes”菜单项,将打开菜单项,将打开扩展属性扩展属性(Extended Attributes)视视图图,在此视图中可以定义列的显示格式、编辑风格,在此视图中可以定义列的显示格式、编辑风格和验证规则。和验证规则。v 自定义显示格式自定义显示格式(Display Formats)v自定义编辑样式自定义编辑样式(Edit Style)v自定义有效性规则自定义有效性
18、规则(Validation Rules)可以让显示格式更漂亮更统一v自定义显示格式自定义显示格式(Display Formats)$#,#0.0;(RED)($#,#0.0)表示该数据整数部分不超过4位,小数部分必须为1位,无小数则补0,格式前有前导符,整数超过3位则加”,”分隔。如果为负数,则用红色表示。如:fee-¥#,#0.0显示格式不能与编辑风格相混淆。一般用于定义数值和日期型的显示格式可以加快我们的编辑输入速度v自定义编辑风格:字符串型日期型举例1:参考P61页图3-32(EditMask状态)编辑风格选择:vEdit:用于输入文本vEditmask:输入规定格式的文本举例1:yyy
19、y年mm月dd日vCheckbox:输入只有两个状态的信息。举例2:“男/女”,也可以输入第三种格式,但表示数据不确定或无效。vradioButton:用于从多个选项中选择一个,适用于选项不太多的情况。举例3:党员/团员/群众vDropDownListBox:下拉列表框风格,可直接输入数据,也可从列表中选择vDropDownDataWindow:下拉数据窗口风格,数据是从数据表中得到,适于数据不确定状态。党员/团员/群众编辑格式示意图:关于每种风格的一些属性:vCase:输入字符后的大小写转换vAccelerator:加速键vDisplay only:仅用于显示,只读vShow Focus R
20、ectangle:焦点虚框,该列选中时是否在周围显示虚框。vEmpty String is nullvPassword:密码格式vRequired:必须输入vAuto Horz Scroll:自动显示水平滚动条说明v有如下三个步骤:先自定义好显示格式或编辑格式再设置在列属性中.再对表数据加以编辑,就可以看到设定效果.有效性验证:vItem + col + does not pass validation test. 错误显示信息v运行时输出:Item 36 does not pass validation test.v为转义符,表示 这个字符。注意:v在有效性验证的式子中要用正确的逻辑表达式v
21、先设好有效性验证,保存,再设好列中的有效性,保存,再进入表数据编辑状态进行输入,才可以有正确的验证v有效性验证是客户端的验证,不是数据库本身的验证。v布置 上机作业.3.3 3.3 数据表数据维护数据表数据维护 当定义了数据库的表后,在当定义了数据库的表后,在PowerBuilder开发环境中也能够方便地输入开发环境中也能够方便地输入数据。数据库画板提供了如下三种界面来编数据。数据库画板提供了如下三种界面来编辑数据,分别为网格格式辑数据,分别为网格格式grid、列表格式、列表格式tabular和自由格式和自由格式freeform,它们的差别仅,它们的差别仅在于显示数据方式的不同。在于显示数据方
22、式的不同。3.3.1 3.3.1 数据录入数据录入 以表以表“boy”为例,在对象视图中选中表为例,在对象视图中选中表“boy”,单击,单击“PainterBar1”工具栏的工具栏的“Data manipulation grid”工具按钮,以网工具按钮,以网格状来显示数据。单击格状来显示数据。单击“PainterBar3”工具工具栏的栏的“Insert Row”工具按钮,插入一条记录,工具按钮,插入一条记录,单击单击“Delete Row”工具按钮删除当前记录,工具按钮删除当前记录,单击工具栏单击工具栏“PainterBar3”中的中的“Save Changes”工具按钮保存数据。工具按钮保存
23、数据。3.3.2 3.3.2 数据排序与过滤数据排序与过滤 当希望以某种顺序查看数据时,可以指当希望以某种顺序查看数据时,可以指定数据的定数据的排序排序方式:首先方式:首先进入数据表数据的进入数据表数据的编辑界面(光标在其中点一下,成当前界编辑界面(光标在其中点一下,成当前界面)面),然后选择,然后选择“Rows/Sort”菜单项,弹出菜单项,弹出“Specify Sort Columns”对话框,用鼠标对话框,用鼠标左键按住左边的左键按住左边的“Source Data”中的列并拖中的列并拖动到右边动到右边Columns列表框中,然后选择排序列表框中,然后选择排序方式。方式。注意v这里的排序只
24、是对当前数据起一个显示作用,其排序结果并不影响数据库表中的记录保存顺序.当浏览部分数据时,可以当浏览部分数据时,可以指定过滤条件指定过滤条件对表中对表中数据进行筛选。步骤如下:数据进行筛选。步骤如下:v首先将焦点切换到首先将焦点切换到“Result”视图(即数据表编辑视图(即数据表编辑界面界面result选项卡)选项卡),然后选择,然后选择“Rows/Filter”菜单项,弹出菜单项,弹出“Specify Filter”对话框。对话框。v输入过滤条件。输入过滤条件。如如:gz=3000 v单击单击“Verify”按钮验证过滤表达式是否正确。按钮验证过滤表达式是否正确。v单击单击“OK”按钮关闭
25、对话框,满足条件的数据被按钮关闭对话框,满足条件的数据被显示出来。显示出来。v同样同样,只是显示符合筛选条件的记录只是显示符合筛选条件的记录,其他未显示其他未显示的数据在数据库中仍然存在的数据在数据库中仍然存在.3.3.3 3.3.3 建立视图建立视图 视图是数据库应用系统中十分重要的组视图是数据库应用系统中十分重要的组成部分,通过视图可以进一步简化应用程序成部分,通过视图可以进一步简化应用程序编程工作,使其更加简洁、灵活、方便、有编程工作,使其更加简洁、灵活、方便、有效。视图是一种非常特殊的虚拟表,它可以效。视图是一种非常特殊的虚拟表,它可以象表一样地被访问和使用,但视图本身并不象表一样地被
26、访问和使用,但视图本身并不是真正的表,并不存在视图这种物理结构,是真正的表,并不存在视图这种物理结构,它的数据只是来自一个或多个数据库中的表它的数据只是来自一个或多个数据库中的表或视图。或视图。Viewsnew View 创建之后创建之后,点点return图标图标,并为之起名保存并为之起名保存.方法:方法:方法:和表中列的选中一样:方法:和表中列的选中一样:选完后选中选完后选中 上图按钮,保存即可。上图按钮,保存即可。 .4数据导入与导出数据导入与导出 在开发环境中可以将数据库表中的数据导出到在开发环境中可以将数据库表中的数据导出到文件中。也可以将保存在文本文件或文件中。也可以
27、将保存在文本文件或“DBF”库文库文件中的数据通过数据库画板导入到数据库中。件中的数据通过数据库画板导入到数据库中。v导出数据导出数据 Result视图视图Filesave row as(或右击或右击Result视图空白处视图空白处,选选save row as)Powerbar1上的edit工具,进入编辑画板下Paintbar1的open工具,可打开该导出文件可导出txt文件,也可导出sql文件v导入数据导入数据v导入数据:进入Result视图,Rows/Import.例:txt文件的导入说明:该文本文件中不应该带有字段名v导入数据导入数据将将“.txt”的文件导入数据库表中。的文件导入数据库
28、表中。数据库表编辑状态,焦点切换到到数据库表编辑状态,焦点切换到到“results”试图。试图。方法:点击选中的位置方法:点击选中的位置在弹出的对话框选择在弹出的对话框选择文本类型或文本类型或dbf文件。文件。选中文件。导入后选中文件。导入后点点 (save change按钮按钮,在在paintbar3中中)保存。保存。 3.3.5 3.3.5 设置数据显示格式设置数据显示格式( (略略) )在数据库画板中,设置列的显示格式的步骤如下:在数据库画板中,设置列的显示格式的步骤如下:v在数据库画板的对象在数据库画板的对象(Objects)视图下,展开树视视图下,展开树视图,显示某个表的列清单。图,
29、显示某个表的列清单。v鼠标右击要指定显示格式的列,在弹出的快捷菜单鼠标右击要指定显示格式的列,在弹出的快捷菜单中选择中选择“Properties”菜单项,在列菜单项,在列(Columns)视视图中选择图中选择“Display”标签页。标签页。v在在“Display Format”下拉列表框中选一个显示格下拉列表框中选一个显示格式。式。v单击画板工具栏上的单击画板工具栏上的“Save”按钮。按钮。 定义了某个显示格式后,可以根据需要对它进定义了某个显示格式后,可以根据需要对它进行修改。操作步骤如下:行修改。操作步骤如下:v打开数据库画板。打开数据库画板。v如果扩展属性如果扩展属性(Extende
30、d Attributes)视图没有显示,视图没有显示,选择选择“View/Extended Attributes”菜单项打开扩菜单项打开扩展属性视图,否则单击该视图的标签页。展属性视图,否则单击该视图的标签页。v在扩展属性视图下,打开显示格式列表。在扩展属性视图下,打开显示格式列表。v鼠标右击要修改的显示格式名称,在弹出的快捷菜鼠标右击要修改的显示格式名称,在弹出的快捷菜单中选择单中选择“Properties”菜单项。菜单项。v在显示格式视图中修改已定义的显示格式。在显示格式视图中修改已定义的显示格式。3.4 SQL3.4 SQL命令命令 SQL命令是数据库发布命令的交互标准,命令是数据库发布
31、命令的交互标准,适用于各种公开发行的数据库系统,适用于各种公开发行的数据库系统,PowerBuilder的数据库画板支持直接使用的数据库画板支持直接使用SQLSQL命令进行数据库表的维护。命令进行数据库表的维护。3.4.1 SQL3.4.1 SQL命令类型命令类型SQL(Structured Query Language)称为结构称为结构化查询语言,主要功能就是同各种数据库建立联化查询语言,主要功能就是同各种数据库建立联系,用来执行各种各样的操作,例如更新数据库系,用来执行各种各样的操作,例如更新数据库表中的数据、从数据库表中提取数据等。表中的数据、从数据库表中提取数据等。SQL语句有很多,功
32、能齐全,可以分为四大类:语句有很多,功能齐全,可以分为四大类:v数据定义(数据定义(create创建表创建表.drop删除表删除表.alter修改修改表表)v数据查询数据查询 (select)v数据更新数据更新 (insert.update.delete)v数据控制数据控制 (mit.rollback)Sql语句格式说明vSql语句末尾加分号,表示行结束符vSql命令中一般不允许使用汉字字段名v一行写不下时,可写成多行。不需要续行符v比较长的语句鼓励写成多行,使结构清晰v大小写不敏感3.4.2 SQL3.4.2 SQL数据表命令数据表命令SQL命令可以在数据库画板中执行,也命令可以在数据库画板
33、中执行,也可以在可以在Sybase Central或数据库管理工具或数据库管理工具“Interactive SQL”中执行。定义类的中执行。定义类的SQL命令(命令(CREATE、DROP 、ALTER等语句)等语句)可以对数据库、数据表、索引、视图和存可以对数据库、数据表、索引、视图和存储过程等进行操作。这些命令一般都通过储过程等进行操作。这些命令一般都通过数据库画板来完成。数据库画板来完成。【例3.2】通过通过SQL语句创建数据库语句创建数据库vCreate database c:mydb1vTransaction log on 工作日志vCase ignore 大小写 忽略vPage s
34、ize 1024 页面大小(必须有)vCollation 437 校对vEncrypted off 加密vBlank padding off空格填补vJava offjconnect off 3.4.2 SQL3.4.2 SQL数据表命令数据表命令在执行interactive SQL(可以通过菜单,也可以在资源管理器中),设置用户名和密码,单击“ok”输入建数据库的代码。v数据库画板下,viewInteractive sqlv单击painterbar2中的Execute按钮说明v数据库建立了,如果看不到该数据库,则要设数据源和引导名并加以连接.数据表定义命令v数据库画板下,viewIntera
35、ctive sql单击powerbar中的Execute按钮【例3.3】创建个人信息表创建个人信息表( person )当前必须处于某个数据库正在打开的情况下当前必须处于某个数据库正在打开的情况下Create table person( id varchar(4) not null, name varchar(10) not null, did varchar(2) not null, age integer, gzsj date, salary Double);点点”Execute“按钮,则按钮,则PB开始创建数据表开始创建数据表 分析:创建的该表没有主键,因此无法插入数据。必须为其设置主键
36、。分析:创建的该表没有主键,因此无法插入数据。必须为其设置主键。v【例3.4】删除表:删除表: personDrop table person;(记住要加分号)记住要加分号)说明:如果删除后没有见到效果,可以将数据库说明:如果删除后没有见到效果,可以将数据库断开再重新连接,即可见到库已经删掉。后面的断开再重新连接,即可见到库已经删掉。后面的操作均同此操作均同此【例3.5】修改表修改表person的表结构,在表中新增一的表结构,在表中新增一列备注(列备注(Notes)。)。Alter table person add notes char(254);以部门和员工为例v创建部门表语法Create
37、table dpt(Did varchar(10) not null,Dname varchar(30),Su decimal(7,0),Primary key(did);PB没有SQLServer选中一行执行的功能,因此可能需要把前面已执行过的内容删掉。v创建员工表(从附带文件 “sql语句大全.doc”中取语句)v从”部门表.txt”中导入数据v从”员工表.txt”中导入数据说明:导入数据前必须确定表中有主键;且必须处于Result视图下才能导入;导入之后必须保存(即存入数据库)才能执行后续操作数据更新注意事项:SQL命令经常通过命令经常通过Insert、Delete和和Update命命令
38、对数据表进行数据修改。在数据修改过程令对数据表进行数据修改。在数据修改过程中必须注意数据表的主键不能有中必须注意数据表的主键不能有“值重复值重复”和和“空值空值”等特性。等特性。【例3.6】修改表修改表Boy的表结构,在表中新增一列部门编号(的表结构,在表中新增一列部门编号(dp)。)。Alter table boy add dp char(10); (略略)【例3.7】查询表查询表boy中所有工资大于中所有工资大于1000的记录的记录,只取只取两列两列。【例3.8】在在“boy”表中取表中取id=”00101”记录的工资数值,存入实型记录的工资数值,存入实型变量变量X中中。【例
39、3.9】查看查看“boy”中的所有数据,并要求按工资升序排列中的所有数据,并要求按工资升序排列。【例3.10】查找查找“boy”表中工资大于表中工资大于2000元的员工记录元的员工记录【例3.11】查找查找“boy”表中工资大于表中工资大于2000元元或性别为或性别为“女女”的员工记录的员工记录【例3.12】查找查找dpt表中所在部门为表中所在部门为01、03和和05的记录的记录。【例3.13】查询会计系查询会计系(01)的所有人员的所有人员。【例3.14】查找查找“王昭王昭”所在部门所有人员的所在部门所有人员的信息信息。【例3.15】查询目前没有人员的部门查询目前没有人员的部门。【例3.16
40、】查找姓查找姓“王王”的人员的信息的人员的信息。【例3.17】统计实际总人数统计实际总人数。【例3.18】统计统计01部门的平均工资部门的平均工资。【例3.19】统计各部门的实际总人数。统计各部门的实际总人数。3.4.4 3.4.4 数据更新语句数据更新语句 SQL命令经常通过命令经常通过Insert、Delete和和Update命命令对数据表进行数据修改。在数据修改过程中必令对数据表进行数据修改。在数据修改过程中必须注意数据表的主键不能有须注意数据表的主键不能有“值重复值重复”和和“空值空值”等特性。等特性。vINSERT语句:用于向数据库表中添加新的数据语句:用于向数据库表中添加新的数据行
41、。行。 【例3.20】给给boy表中插入一个员工记录。表中插入一个员工记录。insert into boy(id,name,xb,nl,gz,dp)values(02111,高高高高,女女,4,0,05); 【例3.21】批量插入记录批量插入记录。vUPDATE语句:用于更新或修改数据库中满语句:用于更新或修改数据库中满足规定条件的现有记录。足规定条件的现有记录。 【例3.22】将将boy表中的编号为表中的编号为“00101”的的记录工资修改为:记录工资修改为:2000元。元。update boy set gz=2000 where id=00101; 【例3.23】将将boy表中的女性的工资
42、增加表中的女性的工资增加200元。元。update boy set gz=gz+200 where boy.xb=女女;vDELETE语句:用于删除指定数据表中满足语句:用于删除指定数据表中满足条件的记录。条件的记录。 【例3.24】在在boy表中,删除编号为表中,删除编号为“00102”的记录。的记录。3.4.5 3.4.5 数据库提交命令数据库提交命令 数据库提交撤消属于数据库提交撤消属于SQLSQL的数据的数据控制类命令,控制类命令,在在PowerBuilder中,经常被用于控制数据库的数中,经常被用于控制数据库的数据状态。据状态。vCOMMIT语句:用于完成数据库的物理修改语句:用于完
43、成数据库的物理修改 。Commit using sqlca;sqlca为事务对象名为事务对象名,这条语句可这条语句可永久性更新数据库操作永久性更新数据库操作默认任务对象是“sqlca”vROLLBACK语句:用于放弃自上一个语句:用于放弃自上一个COMMIT、ROLLBACK或或CONNECT操作之后的所有数据库操作之后的所有数据库操作操作rollback using sqlca; vPB默认的全局对象 SQLCA Transaction对象,用于与数据库通信 共含15个属性: SQLReturnData-返回的特定DBMS信息 SQLCode-操作成功或失败的代码:0成功,100没找到,-1
44、出错 SQLNRows-最近执行的SQL语句有效的行数(不同的DBMS返回值不同) SQLDBCode-数据库出错代码SQLErrText-与出错代码相对应的数据库出错信息SQLDA DynamicDescriptionArea,用于动态SQLSQLSA DynamicStagingArea,用于动态 SQL调用组向 Error 在执行过程中报告错误 Message 用于处理非PowerBuilder定义的时间的信息和在窗口间传递参数vCONNECT语句:用于在程序中将指定的事务对象与数据库连接。语句:用于在程序中将指定的事务对象与数据库连接。vSQLCA.DBMS=ODBCvSQLCA.Au
45、toCommit=falsevSQLCA.DBParm=ConnectString=DSN=cctv“vConnect USING SQLCA;vIF SQLCA.SQLCode0 thenv messagebox(连接数据库失败连接数据库失败,SQLCA.SQLErrText)v HaltELSE Messagebox(提示信息提示信息,连接数据库成功连接数据库成功)END IFvDISCONNECT语句:中断与数据库的连接语句:中断与数据库的连接 3.4.6 3.4.6 获取获取SQLSQL命令命令 前面的建表过程中都是利用图形界面来完成的,前面的建表过程中都是利用图形界面来完成的,Pow
46、erBuilder实际上是将建立数据库的实际上是将建立数据库的SQL命令命令传递到了后台运行的传递到了后台运行的DBMS中。中。 【例例3.25】获取建表的获取建表的SQL命令。命令。右击右击boy表表Export Syntax,其中有建表语法其中有建表语法,列属性定义列属性定义(列名列名,显示格式显示格式,编辑格式编辑格式,校验公式校验公式)FileSave as可将此可将此SQL语句存盘语句存盘该该SQL语句可以方便地实现数据库数据的保存转移语句可以方便地实现数据库数据的保存转移. v【例例3.26】使用使用SQL命令进行数据查询的程命令进行数据查询的程序举例。序举例。v步骤步骤:创建创建
47、boy表并插入记录表并插入记录创建界面创建界面(两个窗口两个窗口)并保存并保存.连接数据库连接数据库给给”数据添加数据添加”按钮和按钮和”查询查询”添加代码添加代码(代码可以从代码可以从”第第3章章sql语句大全语句大全.doc”中复制中复制).7交互执行交互执行SQLSQL命令命令 编程时经常会遇到要写一些编程时经常会遇到要写一些SQL语句来测试一下语句来测试一下数据及修改表中的数据。选择数据及修改表中的数据。选择“View/Interactive SQL”菜单项进入菜单项进入“Interactive SQL”视图视图(ISQL)。v直接执行:直接在直接执行:直接在“ISQL
48、 Session”视图中,输入视图中,输入SQL语句。然后点击执行图标按钮语句。然后点击执行图标按钮,或者按下或者按下ctrl+L.v读入读入SQL语句:在语句:在“Interactive SQL”视图中可读视图中可读入文件中的入文件中的SQL语句。语句。复制粘贴复制粘贴SQL语句即可语句即可Fileopen file 可打开可打开*.sql文件文件.8自动生成自动生成SQLSQL命令命令 PowerBuilder提供了提供了图形化的图形化的SQL语句生成工语句生成工具,就是具,就是SQL画板画板。SQL画板可以通过类似于创建画板可以通过类似于创建数据窗口对象的图形界面生成数据窗口对象的图形界面生成SQL语句,并且直接语句,并且直接粘贴到脚本环境中,而不必花过多时间去关注粘贴到脚本环境中,而不必花过多时间去关注SQL语法。语法。PowerBuilder的的SQL语句画板能够构造三语句画板能够构造三类语句:游标、非游标以及过程,非游标类语句:游标、非游标以及过程,非游标SQL语句语句对应于单行对应于单行SELECT、INSERT、UPDATE和和DELETE语句。语句。 【例 3.27】调用调用SQL画板。画板。产生特定的sql语句v在数据库画板中进行进入数据库画板,进入ISQL画板,edi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025购车贷款合同范本
- 2025【合同范本】屋面防水材料供货合同模板
- 《2025股权转让服务合同书》
- 2025退休人员劳务合同样本
- 2025年充装工岗位考试题及答案
- 2025年山东机电单招试卷及答案
- 2025年园丁小学考试题目及答案
- 城市轨道交通建设与城市交通拥堵治理可持续发展研究报告
- 2025年船舶机舱考试题目及答案
- 2025年医院财务科招聘考试试题及答案
- 脑脊液漏的健康宣教
- 2025年静脉输液考试题及答案2024
- 政府机关保安职责及安全政策
- 化工设备使用与维护课程标准
- 房产中介行业智能经纪人与信息共享平台方案
- 工程造价咨询服务投标方案(专家团队版-)
- 2024-2025学年统编版小学道德与法治一年级上册全册教案及反思
- 公司管理安全奖惩制度(2篇)
- 2025中水北方勘测设计研究限责任公司校园招聘管理单位笔试遴选500模拟题附带答案详解
- 《质量管理体系培训》课件
- (高职院校)健康养老照护大赛理论考试题库500题(含答案)
评论
0/150
提交评论