第07章 PowerScript语言.ppt

大学数据库技术及应用-陈刚-课件PPT

收藏

资源目录
跳过导航链接。
大学数据库技术及应用-陈刚-课件PPT.zip
数据库技术及应用-陈刚-PPT演示文稿
教案资料.ppt---(点击预览)
数据库技术及应用-陈刚-PPT课件文件
文稿ppt_ppt.txt---(点击预览)
文稿ppt_ppt.jpg---(点击预览)
文稿ppt.ppt---(点击预览)
数据库技术及应用-陈刚-大学教学资料
(课件资料)《数据库技术及应用》-陈刚-电子教案
压缩包内文档预览:(预览前20页/共82页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:21835842    类型:共享资源    大小:15.48MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学 数据库技术 应用 利用 运用 陈刚 课件 ppt
资源描述:
大学数据库技术及应用-陈刚-课件PPT,大学,数据库技术,应用,利用,运用,陈刚,课件,ppt
内容简介:
数据库原理及应用“十一五”国家级规划教材,1,第7章 PowerScript语言,本章重点内容 PowerScript基本概念 变量与常量的数据类型、作用域、声明及引用 PowerScript基本语句的格式要求 函数与结构的定义及引用 嵌入式SQL的应用,数据库原理及应用“十一五”国家级规划教材,2,7.1.1 标识符 标识符是指在程序中使用的变量、标号、函数、窗口、控件、菜单及所引用对象的名称。在PowerBuilder8中,标识符的命名遵从下述规则: 标识符必须以英文字母或者下划线“_”开头。 标识符不能是保留字。 标识符只能由字母、数字和如下特殊字符组成:短划线“-”,下划线“_”,美元符“$”,号码符“#”和百分号“%”。 标识符不区分大小写字母。 标识符不能超过40个字符,且中间不能出现空格。,7.1 PowerScript基本概念,数据库原理及应用“十一五”国家级规划教材,3,由于PowerScript允许在标识符中使用短划线“-”,这就使得在使用减号“-”操作符时,需要在它前后加空格,否则PowerScript将把表达式当作标识符处理,出现编译错误。 标识符命名规则 最好使用有一定意义的单词,当同一类标识符有多个时,可以使用两个以上单词的组合,建议用以下方法: 使用下划线“_”(例如:w_main)。 首字母大写(例如:FirstCount)。,7.1 PowerScript基本概念,数据库原理及应用“十一五”国家级规划教材,4,7.1.2 保留字:保留字不能单独作为一个标识符,但可以作为单词组合的其中一个单词。 7.1.3 代词,7.1 PowerScript基本概念,数据库原理及应用“十一五”国家级规划教材,5,7.1 PowerScript基本概念,7.1.3 代词 1Parent: (1)当为窗口中的控件编写脚本使用Parent时,Parent指代包含控件的窗口。 (2)当为用户对象中的控件编写脚本使用Parent时,Parent指代用户对象。 (3)当在菜单的脚本中使用Parent时,它指代上一级菜单。 2This 代表对象或控件本身,数据库原理及应用“十一五”国家级规划教材,6,7.1.3 代词 3ParentWindow 代词ParentWindow仅能在菜单的脚本中使用,它代表运行时菜单所在窗口。 注意:用户不能用ParentWindow来引用父窗口(菜单所在窗口)中的控件。 4Super 用户可以直接用祖先的名称调用它们,也可以使用代词Super引用其直系祖先。注意,不能用Super调用祖先窗口中的控件的脚本,7.1 PowerScript基本概念,数据库原理及应用“十一五”国家级规划教材,7,7.1.4 空值(NULL) 空值(NULL)表示未定义或未知的,它与空字符串、数值零和日期0000-00-00不同,因为NULL不是0或非0的任何数值。空值是PowerBuilder与数据库交换数据时使用的一种特殊值。 所有PowerBuilder变量数据类型都支持空值,即可以给任何类型的数据赋空值,但不能将空值作为变量的默认初始值。,7.1 PowerScript基本概念,数据库原理及应用“十一五”国家级规划教材,8,7.1.4 特殊ASCII字符,7.1 PowerScript基本概念,数据库原理及应用“十一五”国家级规划教材,9,7.1.4 特殊ASCII字符 包括上表中所列字符在内,任何ASCII字符都可以在符号后用它的ASCII码值表示,ASCII码值可以用十进制(000-255),十六进制(后接小写的h,范围01-FF),八进制(后接小写的o,范围000-377)。,7.1 PowerScript基本概念,数据库原理及应用“十一五”国家级规划教材,10,7.1.5 断行、续行和注释 1语句的断行、续行和分隔 分隔符:PowerScript的行分隔符是分号“;”。 断行:可以加上分隔符表示断行,把多条语句写在一行上。 续行:在语句中间加上续行符“&”,换行后接着书写。 注意:不能在标识符或保留字的中间续行。不需要在SQL语句中用续行符,因为PowerBuilder中的SQL语句总是以分号结束,编译器认为从SQL语句开始到分号之间的每一部分都是SQL语句的组成部分。,7.1 PowerScript基本概念,数据库原理及应用“十一五”国家级规划教材,11,7.1.5 断行、续行和注释 2注释 行注释:以双斜杠“/”开始到行结束。 块注释:以“/*”开始到“*/”结束。,7.1 PowerScript基本概念,数据库原理及应用“十一五”国家级规划教材,12,7.2 数据类型,7.2.1 标准数据类型,数据库原理及应用“十一五”国家级规划教材,13,7.2 数据类型,7.2.1 标准数据类型,数据库原理及应用“十一五”国家级规划教材,14,7.2 数据类型,7.2.2 系统对象数据类型 在PowerBuilder应用中,窗口、菜单、各种控件都是系统对象,每一种系统对象实际上是定义在PowerBuilder内部的一种数据类型。,数据库原理及应用“十一五”国家级规划教材,15,7.2.3 枚举类型 枚举类型是PowerScript中定义的特殊常量。枚举类型通常用来设置对象和控件的属性或者作为系统函数的参数使用。 所有枚举类型的值都是系统预先定义的,不能像其他语言一样可以向定义好的枚举类型集合中添加新的元素,而只能按系统要求使用它。枚举类型实际上一组固定的值,这些值通常以英文单词开始,以“!”结尾来表示其为特殊类型。,7.2 数据类型,数据库原理及应用“十一五”国家级规划教材,16,无论是常量或是变量在使用前都应先声明,以便编译时分配适当的存储空间,并且声明的格式、位置不同,其作用域和可见性也不同。 7.3.1 变量 变量是指在程序运行过程中可以改变的量。在应用中,使用变量前必须先予以声明。声明变量的简单语法格式为: 数据类型名 变量名 = 初始值 其中,数据类型 变量名为任何合法的标识符,7.3 变量与常量,数据库原理及应用“十一五”国家级规划教材,17,7.3.1 变量 声明变量时可以直接把一常量或表达式的值赋给它(初始化),变量初始化是在编译时进行,而不是在运行时完成。如果声明变量时不赋初值,系统将按数据类型的默认值自动赋初值 可以在同一条语句同时声明多个相同类型的变量,变量之间用逗号( , )分隔即可。语法格式为: 数据类型名 变量名 = 初始值 , 变量名 = 初始值 , 变量名 = 初始值 , ,7.3 变量与常量,数据库原理及应用“十一五”国家级规划教材,18,7.3.2 常量 常量是在程序运行过程中其值保持不变的量。声明常量时需要加关键字CONSTANT,必须赋初值,并且不能再改变。 常量声明的语法格式为: CONSTANT 数据类型 常量名 = 值 其中常量名一般用大写字母表示,以便将其和变量名区别开来。 注意,声明常量时不能在一行中进行多项声明。,7.3 变量与常量,数据库原理及应用“十一五”国家级规划教材,19,7.3 变量与常量,7.3.3 数组 组成数组的变量称为元素,每一个元素都有唯一索引号(下标),用于将其与其它元素区分开来。数组有两种类型,即一维数组和多维数组,多维数组的大小必须确定,而一维数组的大小可以确定,也可以不确定。数组的每一维最多可包含147,483,647个元素。 声明数组的语法格式如下: 数据类型 数组名d1,dn=初值,数据库原理及应用“十一五”国家级规划教材,20,7.3.4 变量的作用域 作用域即使用范围,无论是变量还是常量都有自己的作用域 1全局变量(Global) 全局变量可以在整个应用程序中被访问,它的作用域是整个应用程序。PowerBuilder8中声明全局变量的方法。 为了增强程序的可读性和编码的规范性,全局变量名以字符g开头,表示该变量为全局变量(Global)。 2实例变量(Instance) 实例变量属于某个对象(应用程序、窗口、用户对象或菜单)并与该对象相关联,只有在该对象及与该对象相关的控件的脚本中才能使用其定义的实例变量。,7.3 变量与常量,数据库原理及应用“十一五”国家级规划教材,21,3共享变量(Local) 共享变量和实例变量类似,只能在定义共享变量的对象和与该对象相关的控件的脚本中访问共享变量。但是,共享变量与实际的类定义相关联,而与对象实例无关,这意味着所有同类实例都可共享相同的变量。 共享变量是一种静态变量,将保存其最后的设置,也就是说,它所在的对象关闭后再次打开时,共享变量依然保持对象关闭时的值。 4局部变量(Shared) 局部变量在使用它的事件或函数中声明,它仅属于声明它的脚本,在该程序段的任何地方均可访问局部变量,但其它程序段不能访问该程序段中的局部变量。运行程序后,进入某个程序段时,自动为该程序段的局部变量分配内存,退出程序段时局部变量占用的内存被释放。,7.3 变量与常量,数据库原理及应用“十一五”国家级规划教材,22,运算符表示了一个或两个操作数之间的运算操作。PowerScript利用运算符构成表达式,完成一定的运算。 7.4.1 算术运算符,7.4 运算符与表达式,数据库原理及应用“十一五”国家级规划教材,23,扩展算术运算符,7.4 运算符与表达式,数据库原理及应用“十一五”国家级规划教材,24,7.4.2 关系运算符,7.4 运算符与表达式,数据库原理及应用“十一五”国家级规划教材,25,7.4.3 逻辑运算符 7.4.4 连接运算符 连接运算符“+”,用于把Sring型或Blob型变量的内容连接起来。,7.4 运算符与表达式,数据库原理及应用“十一五”国家级规划教材,26,7.4.5 运算符的优先级,数据库原理及应用“十一五”国家级规划教材,27,7.4.6 表达式 表达式是由算术运算符、关系运算符及逻辑运算符连接起来的变量、常量构成的语法单位。 数值数据类型转换级别,7.4 运算符与表达式,数据库原理及应用“十一五”国家级规划教材,28,7.5.1 赋值语句 语法格式为: variablename = expression 其中,variablename代表变量名,expression代表表达式,也可以是字符串、数字、变量或常量以及数组等。 在赋值语句中,若等号右边是表达式,则先将其结果转化为等号左边变量的类型后,再赋值给变量。 注意:因为等号“”在表达式中可以作为关系运算符,所以在赋值语句中,不能实现连续赋值。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,29,7.5.2 条件控制语句 1IFTHEN语句 (1)单行IFTHEN语句 语法格式为: IF condition THEN action1 ELSE action2 (2)多行IFTHEN语句 语法格式为: IF condition1 THEN Action1 ELSEIF condition2 THEN Action2 ELSE Action3 END IF 多行IFTHEN语句即使只有action1一个语句块,也需要END IF表示多行IFTHEN的结束。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,30,2CHOOSE CASE语句 适用于多分支选择结构。语法格式为: CHOOSE CASE testexpression CASE expressionlist statementblock CASE expressionlist statementblock CASE expressionlist statementblock CASE ELSE statementblock END CHOOSE,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,31,2CHOOSE CASE语句 其中,testexpression代表测试值,expression代表判断表达式,statementblock代表测试值与判断表达式相匹配时执行的语句块,方括号里的内容可以省略。 判断表达式可以有如下几种形式: (1)用逗号分隔一组数据。 (2)用TO表示一个区间。 (3)用IS代表测试值,与关系运算符一起构成关系表达式 (4)用前三种形式的组合,用逗号进行分隔。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,32,2CHOOSE CASE语句 在CHOOSE CASE语句中,至少应包含一个CASE子句,并且由END CHOOSE结束。执行CHOOSE CASE语句时,PowerScript将逐条查找CASE子句,如果找到与测试值相匹配的判断表达式,就执行该CASE子句中的语句块,然后执行END CHOOSE的后继语句。如果包含CASE ELSE子句,那么在未找到任何匹配的判断表达式时,执行CASE ELSE子句中的语句块。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,33,7.5.3 循环控制语句 1DOLOOP语句 (1)DO UNTIL conditionLOOP语法格式为: DO UNTIL condition Statementblock LOOP 执行过程为:先判断控制条件condition,如果为false,则执行语句块statementblock,执行到LOOP后,接着判断条件condition,直到结果为true时结束循环。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,34,(2)DO WHILE conditionLOOP的语法格式: DO WHILE condition Statementblock LOOP 执行过程为:先判断控制条件condition,如果为true,则执行语句块statementblock,执行到LOOP后,接着判断条件condition,直到结果为false时结束循环。 (3)DOLOOP UNTIL condition的语法格式: DO Statementblock LOOP UNTIL condition 执行过程为:先执行语句块statementblock,然后判断控制条件condition,如果为false,则继续执行语句块statementblock,直到condition的结果为true时结束循环。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,35,(4)DOLOOP WHILE condition的语法格式为: DO Statementblock LOOP WHILE condition 执行过程 先执行语句块statementblock,然后判断控制条件condition,如果为true,则继续执行语句块statementblock,直到condition的结果为false时结束循环。 四种循环结构比较 前两种结构是先判断条件,再执行循环体,所以有可能开始时条件就不满足,从而使得循环体一次都不能得以执行;后两种结构是执行一次循环体后再判断条件,所以至少可以执行一次循环体。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,36,2FORNEXT语句语法格式为: FOR varname = start TO end STEP increment Statementblock NEXT 3GOTO语句 GOTO语句的语法格式为: GOTO label 其中,label是语句标号,它使用标识符的命名规则,语句标号可以出现在程序的任何位置,但必须在一行语句的最前面,并且后面要跟冒号。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,37,4循环嵌套 循环嵌套是指把一个循环放在另一个循环的循环体中。 5EXIT语句 EXIT语句是中途结束循环的语句。注意:如果在循环嵌套中使用EXIT语句,那么执行EXIT语句只能退出当前层的循环,而不能退出所有循环。 6CONTINUE语句 CONTINUE语句控制循环的执行使之返回循环开始处。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,38,7.5.4 其它语句 1CALL语句 CALL语句在继承对象中调用祖先对象的脚本。语法格式为: CALL ancestorobjectname controlname:event 其中,ancestorobjectname是指祖先对象名,方括号里的内容表示可以省略,controlname是指祖先对象中的控件名,event是指祖先对象中的事件名。 2RETURN语句 RETURN语句用于立即终止脚本或函数的执行并返回调用程序。其语法格式为: RETURN expression 其中,expression表示函数的返回值,方括号内的内容可以省略。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,39,3HALT语句 HALT语句用于终止应用程序的运行。其语法格式为: HALT CLOSE 其中CLOSE为可选项,当遇到不包含CLOSE的HALT语句时,将立即终止应用程序的运行,如果遇到包含CLOSE的HALT语句,则先执行应用对象的CLOSE事件中的脚本,然后终止应用程序。 4CREATE语句 CREATE语句用于创建对象实例。语法格式有两种: 语法一:Objectvariable = CREATE objecttype 其中,Objectvariable表示返回的句柄,即与创建的对象实例类型相同的变量。Objecttype表示所创建对象的类型。,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,40,4CREATE语句 语法二:Objectvariable = CREATE USING objecttypestring 其中,Objectvariable表示返回的句柄,即与创建的对象实例类型相同的变量。Objecttypestring表示要创建对象类型名称的字符串。 注意:CREATE语句用于创建非可视对象,可视对象的实例使用OPEN函数打开,标准数据类型和结构体不用CREATE语句创建,当对象的AutoInstantiate属性被设置为TRUE时不需要使用CREATE语句。 5DESTROY语句 DESTROY语句用于释放由CREATE语句创建的实例。语法格式为: DESTROY Objectvariable 其中,Objectvariable表示对象实例变量,7.5 基本语句,数据库原理及应用“十一五”国家级规划教材,41,7.6.1 MessageBox( )函数 使用MessageBox( )函数可以向用户显示或提示各种信息。语法如下: MessageBox ( title, text ,icon , button ,default ) title是一个被用来确定MessageBox标题的字符串。 text是在MessageBox中显示的文本。 icon用来指示显示在MessageBox左侧的图标。可选的值有Information! StopSign!、Exclamation!、Question!、None!。,7.6 常用标准函数,数据库原理及应用“十一五”国家级规划教材,42,button用来指示你想要显示的命令按钮的集合。这些值是OK!、OKCancel!、YesNo!、YesNoCancel!、RetryCancel!、AbortRetryIgnore!。返回值只有1、2、3和-1,分别表示用户的按键和失败的情况。默认值是OK!。 default指定默认的按钮 举例 messagebox(“提示“,“你好“,StopSign!,OKCancel!,2),7.6 常用标准函数,数据库原理及应用“十一五”国家级规划教材,43,7.6.2 Open ()函数和 close()函数 Open( )函数用来打开一个窗口,而Close( )函数用来关闭一个窗口。语法格式为: Open(w_name) Close(w_name) 参数w_name指窗口的名称,函数的返回值是一个整数,函数调用成功则返回1,否则返回-1。 Open函数在打开窗口的同时,也调用了该窗口的Open事件。Close函数关闭窗口并释放该窗口和窗口中所有控件占据的系统资源。,7.6 常用标准函数,数据库原理及应用“十一五”国家级规划教材,44,7.6.3 数据类型检查函数 数据类型检查函数又称为Is簇函数它们用来判断一个字符串是否符合某种数据类型的格式,返回值是一个布尔类型的值。Is簇函数的语法格式为: Is*(string) 其中string为要测试的字符串。 IsNumber( )用于测试某字符串是否为有效数值。 IsDate( )检测指定的字符串是否包含有效日期。 IsTime( ) 检测指定的字符串是否包含有效时间。 IsNull ( )测试某变量或表达式的值是否为Null。,7.6 常用标准函数,数据库原理及应用“十一五”国家级规划教材,45,7.6.4 数据类型转换函数,7.6 常用标准函数,数据库原理及应用“十一五”国家级规划教材,46,7.6.5 Run( )函数 调用Run( ) 函数可以在PowerBuilder应用程序中运行其它的应用程序。语法格式为: Run(Program ,state ) 其中参数Program是一个字符串,指定要运行的程序名称。,7.6 常用标准函数,数据库原理及应用“十一五”国家级规划教材,47,7.7.1 自定义函数 参数的传递方式有以下三种: Value 表示值传递,将实际参数的值传递给函数。 Reference地址传递,把实际参数的地址传递给函数,如果函数修改了形式参数的值,则实际参数的值也就被修改了。 Readonly只读地址传递,把实际参数的地址传递给函数,但不允许修改参数的值。,7.7 自定义函数和结构,数据库原理及应用“十一五”国家级规划教材,48,1自定义全局函数 (1)选择FileNew菜单项,或在工具栏中单击New图标,打开New对话框,单击PB Object选项卡。 (2)选择Function图标,然后单击OK按钮,或者直接双击该图标,打开Function画板,7.7 自定义函数和结构,49,(3)在Function Name项中输入函数名,自定义全局函数的命名一般用“f_”开头,命名规则即标识符的命名规则;在Return Type下拉列表框中选择函数的返回值类型,如果函数没有返回值,则选择“None”项;在Pass By下拉列表框中选择参数传递方式;在Argument Type下拉列表框中选择参数类型;在Argument Name项中输入参数名(即形式参数,简称形参),命名规则即标识符的命名规则。 (4)编写完函数脚本后可以编译并保存该函数。,7.7 自定义函数和结构,数据库原理及应用“十一五”国家级规划教材,50,2自定义对象函数 自定义对象函数与某对象相联系,是为具体的对象(如窗口、菜单、用户对象或应用程序)而定义的,它是这些对象的一部分,与对象保存在一起。 自定义对象函数的访问级别可以改变,有三个级别分别为: Public可以在应用程序的任何脚本中调用该函数 Private只能在定义该函数的对象脚本中才能调用该函数,不能在该对象的后代脚本中调用该函数。 Protected可以在该函数的对象以及它的后代的脚本中调用该函数。 调用自定义对象函数时,如果在对象中调用,则可直接调用,如果在对象外调用,必须在函数名前指定对象名。,7.7 自定义函数和结构,数据库原理及应用“十一五”国家级规划教材,51,7.7.2 结构 1全局结构 全局结构,在应用程序的任何地方都可以访问的结构。全局结构作为独立的对象存放在库中。 创建过程 (1)选择FileNew菜单项,或在工具栏中单击New图标,打开New对话框,单击PB Object选项卡。 (2)选择Structure图标,然后单击OK按钮,或者直接双击图标,打开Structure画板 输入域变量 2对象结构 对象结构是在具体的对象(如窗口、菜单、用户对象或应用程序)中定义的,它是这些对象的一部分,与对象保存在一起。与函数不同的是不能为结构定义访问级别,一般只能在对象内使用,或当该对象打开时,可以在其它对象脚本中使用该结构。,7.7 自定义函数和结构,数据库原理及应用“十一五”国家级规划教材,52,如果需要在程序中连接数据库就必须通过嵌入式SQL来完成,有时候我们需要在程序中直接使用SQL语句操作数据库。PowerScript提供了一整套嵌入式SQL语句。 PowerScript支持在程序中使用嵌入式SQL语句,并且支持在SQL语句中使用具体数据库管理系统(DBMS)特有的SQL语句、函数和保留字,实际上,对于SQL语句,PowerBuilder在将其发送到DBMS之前,并不做任何处理,而由DBMS完成相应操作,最后PowerBuilder得到处理结果。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,53,PowerBuilder中嵌入SQL语句的要求 整个SQL语句可以写在一行,也可以写成更清晰易懂的多行格式,不需使用断行续行符,只要在整个语句结束处加上一个分号(;)即可。在SQL语句中可以使用常量或合法的变量,但使用变量时须在变量前加个冒号(:)(通常称做绑定变量),多个变量或常量之间用逗号(,)分隔。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,54,7.8.1 数据库连接的建立与断开 1使用CONNECT建立与数据库的连接 CONNECT是每个访问数据库的PowerBuilder程序必须使用的语句,它的功能是通过事务对象将应用程序与数据库建立连接,连接成功后,其它SQL语句和数据窗口才能通过事务对象对数据库进行操作。 CONNECT语句的语法格式为: CONNECT USING TransactionObject; 其中,TransactionObject是事务对象,在执行该语句前,必须正确设置事务对象的数据库连接属性。方括号( )表示该成分可以省略,省略时使用默认的事务对象SQLCA。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,55,7.8.1 数据库连接的建立与断开 2使用DISCONNECT断开与数据库的连接 DISCONNECT语句断开与数据库的连接,执行该语句时,它首先执行COMMIT语句(事务提交语句),完成事务提交,然后断开与数据库的连接。 DISCONNECT语句的语法格式为: DISCONNECT USING TransactionObject; 其中,TransactionObject是前面用CONNECT语句连接的事务对象名。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,56,7.8.2 提交与回滚事务 1提交事务语句COMMIT COMMIT语句提交事务,完成数据库的物理修改。执行该语句后,将关闭所有先前打开的游标(CURSOR)和过程(PROCEDURE),并开始一个新的事务。COMMIT语句的语法格式为: COMMIT USING TransactionObject; 其中,TransactionObject是事务对象名,缺省时使用事务对象SQLCA。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,57,7.8.2 提交与回滚事务 2回滚事务语句ROLLBACK ROLLBACK(回滚)语句放弃自上一个COMMIT、ROLLBACK或CONNECT语句以来的所有数据库操作,关闭所有的游标和过程,并开始一个新的事务。其语法格式为: ROLLBACK USING TransactionObject ; 其中,TransactionObject是事务对象名,缺省时使用事务对象SQLCA。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,58,7.8.3 单行检索语句SELECT 单行SELECT语句从数据库中检索一条记录,如果找到多条满足条件的记录,则产生错误(7.8.7节将介绍读取多条数据库记录的游标方法)。其语法格式为: SELECT 字段名列表 INTO 变量列表 FROM 表名列表 WHERE 检索条件 USING 事务对象名; 其中,字段名列表包含多个字段时字段之间用逗号分隔,多个表时,用“表名.字段名”区分不同表中的同名字段;变量列表中每个变量前都要加上冒号(:),以指示该变量是PowerScript变量(这类变量称作主变量或绑定变量);表名列表中多个表名之间用逗号分隔。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,59,7.8 嵌入式SQL语句,7.8.3 单行检索语句SELECT 例如,下面的语句从发票表fp选择ssdw(所属单位)和fhdw(发货单位)列的内容,并将结果存放在两个单行编辑框中,其条件是发票号fpno=1。注意SELECT语句使用了开发人员说明的事务对象Emp_tran而不是缺省事务对象SQLCA: SELECT fp.ssdw,fp.fhdw INTO :sle_ssdw.text, :sle_fpno.text FROM fp WHERE fp.fpno = 1;,数据库原理及应用“十一五”国家级规划教材,60,7.8 嵌入式SQL语句,7.8.4 插入语句INSERT INSERT语句向数据库中插入一条记录,其语法格式为: INSERT INTO 表名(列名,.) VALUES (列值,.) USING 事务对象名 ; 其中,列值为列的赋值,程序中可以使用常量,也可以使用绑定变量(PowerScript变量前加个冒号)。例如,下面的语句在kpr表中插入一行并设置用户名和密码: String username /用户名 string password /密码 . INSERT INTO kpr (kpr.id, kpr.pass) VALUES (:username, :password) ; 例子中省略了USING子句,表示该插入语句使用SQLCA事务对象。,数据库原理及应用“十一五”国家级规划教材,61,7.8 嵌入式SQL语句,7.8.5 删除语句DELETE 使用DELETE语句删除表中的数据,其语法格式为: DELETE FROM 表名 WHERE 删除条件 USING 事务对象名 ; 其作用为满足删除条件的行被删除。,数据库原理及应用“十一五”国家级规划教材,62,7.8 嵌入式SQL语句,7.8.6 修改语句UPDATE UPDATE语句修改表中指定的数据,其语法格式为: UPDATE 表名 SET 列名 =值 ,列名 = 值 ,. WHERE 修改条件 USING 事务对象名 ; 其中,值可以是常量,也可以是PowerScript的绑定变量(PowerScript变量前加个冒号);该语句的作用为满足该修改条件的行被修改。,数据库原理及应用“十一五”国家级规划教材,63,7.8.7 检查SQL语句的执行情况 每当执行一条SQL语句后,与该语句相关的事务对象的SQLCode属性都给出一个值指示SQL语句的执行是否成功,SQLCode取值为: 0 : 最近一次SQL语句执行成功 -1: 最近一次SQL语句执行失败 100:最近一次SQL语句没有返回数据 当SQLCode的值为-1时(即最近一次SQL语句执行失败时),事务对象的SQLDBCode属性中存放着数据库厂商提供的错误代码、事务对象的SQLErrText属性中存放着数据库厂商提供的错误信息,利用这两个属性,可以得到出错原因。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,64,SELECT fp.shdw, fp.fhdw INTO :sle_ssdw.text, :sle_fhdw.text FROM fp WHERE fp.fpno = :sle_fpno; if sqlca.SQLCode = 100 then /未找到满足条件的数据 MessageBox(“查询发票“, “未找到指定的发票“) elseif sqlca.SQLCode 0 then /SELECT语句执行不成功 MessageBox(“数据库错误“, &sqlca.SQLErrText, Exclamation!)/出错信息 End If,7.8 嵌入式SQL语句,7.8.7 检查SQL语句的执行情况实例,数据库原理及应用“十一五”国家级规划教材,65,7.8.8 游标操作(读取多行数据) 当需要读取多条记录时,就需要使用游标进行操作。其典型运用过程一般为: (1)用DECLARE声明游标; (2)用OPEN语句打开游标; (3)使用FETCH语句读取一行数据; (4)处理数据; (5)判断是否已经读完所有数据,未读完时重复执行(3)(5)步; (6)使用CLOSE语句关闭游标。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,66,1DECLARE语句 使用游标前需要用DECLARE语句声明游标,其语法格式为: DECLARE CursorName CURSOR FOR SelectStatement USING TransactionObject; 其中,CursorName是游标的名称,可以使用任何有效的标识符来表示;SelectStatement是任何有效的SELECT语句;TransactionObject是事务对象名,缺省时使用SQLCA。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,67,2OPEN语句 OPEN语句打开已经声明的游标并执行相应的SELECT语句。其语法格式为: OPEN CursorName; 其中CursorName是已经用DECLARE语句声明的游标名。 3FETCH语句 FETCH语句从游标中读取当前记录并把它保存到指定的变量中。当数据库支持下述用法时,还可以使用FETCH FIRST、FETCH PRIOR、FETCH LAST。FETCH语句的语法格式为: FETCH CursorName INTO HostVariableList; 其中CursorName是OPEN语句打开的游标名,HostVariableList是与SELECT语句中选择字段相对应的绑定变量列表。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,68,4CLOSE语句 CLOSE语句关闭先前打开的游标。其语法格式为: CLOSE CursorName ; 其中CursorName是先前打开游标的名称。 关闭游标后,就不能再使用FETCH语句从游标中读取数据了。,7.8 嵌入式SQL语句,数据库原理及应用“十一五”国家级规划教材,69,7.9 编写脚本 无论为哪个对象编写脚本,都应包括如下几个步骤:打开脚本视图区、编写脚本、编译脚本后保存。 在为对象编写脚本时,可以使用PowerBuilder提供的工具对脚本所需的变量、函数、结构以及语句等直接进行粘贴,从而提高程序开发的准确性和开发效率。 7.9.1 打开脚本视图区 7.9.2 粘贴脚本 7.9.3 编译脚本,7.9 编写脚本,数据库原理及应用“十一五”国家级规划教材,70,7.10 应用程序的调试,调试应用程序的一般步骤如下: (1)打开调试器(Debug); (2)在应用程序中设置断点(BreakPoint); (3)在调试状态下运行应用程序; (4)当执行到断点处程序挂起时,查看或改变有关变量的值; (5)如有必要,逐行单步运行代码; (6)根据需要,在运行过程中添加或修改断点; (7)当发现错误时,纠正错误代码。,7.10.1 调试窗口,7.10.1 调试窗口,画板工具栏,数据库原理及应用“十一五”国家级规划教材,73,7.10.2 断点设置,1选择代码 在开始调试之前,首先要选择想跟踪调试哪一段代码,选中的代码将显示在源代码视图区。选择代码的方法有两种: 展开对象浏览区中的对象,直至出现想调试代码的对象图标。双击该图标或相应函数名事件名,相应代码显示在源代码区中。 选择菜单【Edit】【Select Script】,打开Select Script对话框,展开要调试的对象,直至找到要调试的函数或事件名,如图7-26所示。双击该名称或选择该名称后单击【OK】按钮,指定代码显示在源代码区中。,数据库原理及应用“十一五”国家级规划教材,74,7.10.2 断点设置,2设置断点 选择了要跟踪、调试的代码后,就可以在该代码中设置断点了。断点是这样的程序行:在调试模式下,程序执行到该行后暂时停下来,此时能够查看对象属性、各种变量的取值以及修改取值等,由此判断程序是否按照预期效果运行,从而查出出错原因。 设置断点的方法很简单,在源代码视图区中找到要设置断点的行,双击该行或右击该行,在弹出菜单中选择【Insert Breakpoint】命令,当前行前面就出现一个断点标志棕色的圆点。,数据库原理及应用“十一五”国家级规划教材,75,7.10.2 断点设置,3清除断点 当某个断点不需要时,随时可以清除断点,方法是:在源代码视图区中找到该断点所在行,双击该行或右击该行,在弹出菜单中选择【Clear Breakpoint】命令。 注释:如果不想清除断点,而想让该断点不起作用,可以用鼠标右击该断点所在的行,在弹出菜单中选择【Disable Breakpoint】命令,此时,断点标志变为小圆圈,程序调试过程中,该行就好像没有设置断点一样。对暂时不起作用的断点,想使其恢复断点功能,只需右击该行,在弹出菜单中选择【Enable Breakpoint】命令即可。,数据库原理及应用“十一五”国家级规划教材,76,7.10.2 断点设置,4编辑断点 除了前面介绍的设置断点方法外,通过编辑断点也可以控制程序在什么状态下进入中断模式,这就提供了更灵活的调试程序的能力,比如希望当某变量的值变化时进人中断模式等。想编辑断点时,可选择菜单【Edit】【Breakpoint】,打开如图7-28所示的Edit
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学数据库技术及应用-陈刚-课件PPT
链接地址:https://www.renrendoc.com/p-21835842.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!