powerbuilder数据库应用开发教程(第二版) 第2章  powerbuilder编程_第1页
powerbuilder数据库应用开发教程(第二版) 第2章  powerbuilder编程_第2页
powerbuilder数据库应用开发教程(第二版) 第2章  powerbuilder编程_第3页
powerbuilder数据库应用开发教程(第二版) 第2章  powerbuilder编程_第4页
powerbuilder数据库应用开发教程(第二版) 第2章  powerbuilder编程_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PowerBuilder 10.0数据库应用开发教程第 2章 PowerBuilder编程重点内容 : PowerScript语言基础 数据类型 运算符 创建与释放对象实例 赋值语句和条件语句 循环语句 函数PowerBuilder 10.0数据库应用开发教程一、 PowerScript语言基础:1.断行、续行与多条语句PowerScript的续行为符号 &,它放在一行的末尾指示下一行是当前行的继续MessageBox(”SQL 语句出错 ” ,” 出错编号=”+ String(SQLCA.SQLCode)书写两行为:MessageBox(”SQL 语句出错 ” ,” 出错编号 =”+&String(SQLCA.SQLCode)PowerBuilder 10.0数据库应用开发教程一、 PowerScript语言基础 :2. 注释注释是添加在程序中的一些说明性文件,PowerBuilder并不执行任何注释,而是简单地跳过它l行注释以双斜线 /开始,其后书写注释内容,到行屋结束 l块注释以符号 /*开始,到符号 */结束,不管其中夹了多少东西,它们都是注释 ,如:/*函数返回值为:0-正常-1-出错*/PowerBuilder 10.0数据库应用开发教程一、 PowerScript语言基础:3.标识符标识符是程序中用来代表变量、标号、函数、窗口、菜单、控件、对象等名称的符号,其规则如下:l必须以字母或下划线开头l其余字符可以是字母、数字及下述的特殊符号:下划线 (_)、短横线 (-)、美元符号 ($)、号码符号 (#)、百分号 (%)l最长 40个字符、且中间不能插入空格l保留字不能用做标识符,因为它们也已有特殊的含义l标识符不区分大小写, PART、 Part、 part是一个标识符 PowerBuilder 10.0数据库应用开发教程一、 PowerScript语言基础:4.特殊 ASCII码字符字符串中可以包括特殊的 ASCII码字符,它们不能使用常规的输入方法直接输入,需要使用其他字符来代替 ,如下图PowerBuilder 10.0数据库应用开发教程一、 PowerScript语言基础:5.空值空值是 PowerBuilder与数据库交换数据时使用的一种特殊值,代表数据未定义、不确定,它与空字符串、数值零、以及日期 00-00-00的意义完全不同l PowerBuilder的所有数据类型都支持空值,但 PowerBuilder并不将空值作为缺省值l 变量被赋予空值的途径有两条:( 1)从数据库中读到空值。( 2)使用 SetNull()函数赋值。l 测试变量或表达式是否为空值时,使用函数 IsNull(),而不是直接使用关系表达式PowerBuilder 10.0数据库应用开发教程一、 PowerScript语言基础:6. 代词PowerBuilder提供了四个代词,分别为: This、Parent、 ParentWindow和 Super,其中前三个代词应用广泛:PowerBuilder 10.0数据库应用开发教程一、 PowerScript语言基础:7.对象、属性、函数和事件的引用方法在 PowerScript中,访问对象的属性、函数、事件的方法很简单,就是使用圆点作为标记符访问对象属性的格式为:对象名 .对象属性程序中访问对象的函数与事件的格式为:objectname.typecalltypewhenfunctionname(argumentlist)PowerBuilder 10.0数据库应用开发教程一、 PowerScript语言基础:8. 保留字保留字是 PowerBuilder10内部使用的一组单词,有着特殊的含义,不能再把它们用做标识符 ,常用保留字有:Alias and sutoinstaintiate call case choose case commit connect constant continue create cursor declare delete describe descriptor destroy disconnect do dynamic else elseif end enumerated event execute exit external false fetch first for forward from function global goto halt if immediate indirect insert into intrinsic is last library loop next not of on open or parent post prepare prior private privateread privatewrite procedure protected protectread protectedwrite prototypes public readonly ref return rollback rpcfunc select selectblob shared static step subroutine super system systemread systemwrite then this to trigger true type until update updateblob using variables while with within _debug catch try finally throwPowerBuilder 10.0数据库应用开发教程二、数据类型:1.标准数据类型标准数据类型是指在许多编程语言中常用的数据类型 PowerBuilder 10.0数据库应用开发教程二、数据类型:2.系统对象数据类型系统对象数据类型是 PowerScript特有的一种数据类型。PowerBuilder中的系统对象,例如 Window(窗口)、CommandButton(命令按钮)、 Menu(菜单)和User Object(用户对象)等都被认为是系统对象数据类型,它们也可以被用于声明变量。 PowerBuilder 10.0数据库应用开发教程二、数据类型:3. ANY型数据类型PowerBuilder提供一种 any数据类型,这种数据类型可以保存任意类型的值,包括标准数据类型、对象、结构和数组l以保存任意类型的值,包括标准数据类型、对象、结构和数组。l没有具体的数据类型 l当 any类型的变量被赋值后,该变量的数据类型就变成被赋值的数据类型 PowerBuilder 10.0数据库应用开发教程二、数据类型:4.枚举类型枚举数据类型也是 PowerScript中一种特殊的数据类型。枚举类型用在二个方面 函数的参数 指定对象或控件的属性PowerBuilder 10.0数据库应用开发教程三、说明语句及变量作用域:1.变量说明变量在使用之前,必须先声明,其语法:数据类型 变量名 =初值 ,变量名 =初值 需要一次说明多个变量时,变量名之间用逗号隔开,变量名用前面讲到的标识表示在说明变量的同时,可以同时指定变量的初值。其初值使用字符串类型变量的缺少值空串( ”)完整的变量说明语法为:访问权限 数据类型 大小 精度 变量名 =初值 ,变量名 2=初值 2PowerBuilder 10.0数据库应用开发教程三、说明语句及变量作用域:2.数组说明数组是一组有序数据项的集合。数组可以是一维或多维的,一维数组的大小可以是固定的也可以是变化的,多维数组是大小固定的。定义数组的语法格式如下 : access datatype variablename d1, , dn = valuelist其中 :Access:是可选项,指定变量访问级别是 。Datatype:变量的数据类型,可指定其为标准数据类型、系统数据对象或已经定义好的结构;Variablename:数组变量名,必须是 PowerScript有效的标识符 。d1,dn :可选项,可以定义一个或多个整数值,从 d1到 dn来指定各维的大小。PowerBuilder 10.0数据库应用开发教程三、说明语句及变量作用域:3.常量说明对变量不修改的数据,声明为常量,其语法 为 :CONSTANT 数据类型 常量名 =常量值其中Constant是关键字,说明常量时照样书写 :数据类型为除 Blob类型之外的任意标准数据类型 。常量名是个标识符,应该尽量采用意义明确的标识符表示 。常量值是应用程序赋给该常量标识值,根据数据类型的不同,使用不同的表达方式 。PowerBuilder 10.0数据库应用开发教程三、说明语句及变量作用域:4.外部函数说明外部函数指使用其他语言( powerScript之外的语言)编写、并保存在 DLL中的函数。分为全局外部函数和局部外部函数,其声明语法为: 带返回值的外部函数的说明语法为(实际越级应该为一行 ):access FUNCTION returndatatype name(REFdatatype1 arg1,REF datatypen argn) LIBRARY “ libname” ALIASFOR “ extname”不带返回值的外部函数的说明语法为(实际越级应该为一行 ):access SUBROUTINE name(REFdatatype1 arg1,REF datatypen argn) LIBRARY “ libname” ALIASFOR “ extname”PowerBuilder 10.0数据库应用开发教程三、说明语句及变量作用域:5.数据库存储过程说明PowerScript中调用数据库的存储过程 (Stored Procedure)时,存储过程作为事务对象的对象函数来使用,调用方法为:Object.function()其中, object是事务对象名, function是存储过程名。函数型存储过程说明的语法为(说明时应该写成一行 )FUNCTION returndatatype name(REFdatatype1 arg1,REF datatypen argn) RPCFUNC ALIASFOR “ spname”过程型存储过程说明的语法为(说明时应该写成一行 )SUBROUTINE returndatatype name(REFdatatype1 arg1,REF datatypen argn) RPCFUNC ALIASFOR “ spname”PowerBuilder 10.0数据库应用开发教程三、说明语句及变量作用域:6.结构定义和声明结构变量 全局结构:全局结构不与应用程序中的某个对象相关联,它在整个应用程序中都能够使用。在应用程序的任何地方都可以声明全局结构的变量,该变量的作用域是声明变量时定义的作用域。 对象级结构:这种类型的结构与特定的对象相关联,比如,窗口、菜单、用户对象或应用对象。它可以直接在定义该结构的对象中使用,而在其他地方使用时,需要进行特殊的处理。使用方法为 :结构变量名 .结构分量PowerBuilder 10.0数据库应用开发教程三、说明语句及变量作用域:7. 变量的作用域作用域定义变量在什么范围内有效。 PowerBuilder10的变量作用域共有四种:l全局变量:全局变量在整个应用程序中都可访问,它的作用域是整个应用程序l实例变量:实例变量是某个特定对象的实例化l共享变量:与对象的某个特定实例相关联l局部变量:只能在相应的脚本程序里定义和使用的临时变量,在该脚本运行结束后,相应的变量就不复存在了PowerBuilder 10.0数据库应用开发教程三、说明语句及变量作用域:8.变量的缺省值和初始化l变量的缺省值:当在应用程序中声明变量而又示给变量赋予一个初始值时, PowerBuilder自动给变量设置一个初始值,即设置变量的缺省值l局部变量的初始化:在声明变量的同时,给变量赋值l共享变更的初始化 PowerBuilder 10.0数据库应用开发教程四、运算符:1.算术运算符算术运算符用于完成数学运算 ,常用数学运算符有:PowerBuilder 10.0数据库应用开发教程四、运算符:2.关系运算符关系运算符用于比较两个操作数 (可以是数值类型,也可以是其他数据类型 ),比较的结果为下述三个值之一: TRUE、 FALSE或 NULL,常用关系运算符有:PowerBuilder 10.0数据库应用开发教程四、运算符:3.逻辑运算符逻辑运算符用于构成其结果为 TRUE或 FALSE的逻辑表达式,常用逻辑运算符有:PowerBuilder 10.0数据库应用开发教程四、运算符:4.连接运算符连接运算符只有一个,就是符号 “ +” ,用于把两个String型或 Blob型变量的内容连接在一起,形成新的字符串或 Blob型数据。PowerBuilder 10.0数据库应用开发教程四、运算符:5.运算符的优先级PowerBuilder按通常的算术优先级运算,同一优先级按从左至右运算PowerBuilder 10.0数据库应用开发教程四、运算符:6.表达式的数据类型l数据类型的表达式l赋值对数据类型的影响l字符串数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论