PowerBuilder学习笔记之2PowerScript语言(三)
教材地址:https://wenku.baidu.com/view/1e82d26925c52cc58ad6be05.html?sxts=1565679996440
2.6嵌入式SQL语句
2.6.1几个常用的SQL语句介绍
1数据库连接管理语句
(1)使用CONNECT语句建立与数据库的连接
语法格式:CONNECT[USING TransactionObject];//TransactionObject 是事务对象,执行语句前要正确设置事务对象的数据连接属性,方括号中的内容可以省略,省略后默认的事务对象为SQLCA
(2)使用DISCONNECT 语句断开与数据库的连接
DISCONNECT 执行时先执行COMMIT语句(事务提交语句),完成事务提交,在解除与数据库的连接
语法格式:DISCONNECT [USING TransactionObject];TransactionObject 指的是前面CONNECT 语句中的事务对象。
2事务管理语句
(1)提交事务语句COMMIT
COMMIT语句提交事务,完成数据库的物理修改。执行该语句后,将关闭所有先前打开的游标和过程,并且开始一个新事务。
语法格式:COMMIT[USING TransactionObject] //TransactionObject 是自上次执行COMMIT、ROLLBACK或操作之后,要永久更新的数据库操作的事务对象,方括号省略时默认的事务对象为SQLCA。
(2)回滚事务语句ROLLBACK
ROOLLBACK 语句放弃自上一个COMMIT或ROLLBACK或CONNECT语句后的所有数据操作,关闭所有游标和过程,并开始一个新事务
语法格式ROLLBACK[USING TransactionObjec] //方括号省略时默认事务对象为SQLCA
3.基本操作语句
(1)SELECT 语句
单行检索语句SELECT 从数据库中检索一条记录,如果找到多条满足条件的记录,则产生错误。
语法格式:SELECT column INTO :变量1,:变量2 ...,:变量n
from 表名 [where 条件表达式] [USING TransactionObject]; TransactionObject 为当前连接的事务对象
例:SELECT name,age
into :n,:a
from Student
where name=''小明"
using sqlca ;//必须有分号, :n,:a 是程序声明的变量
INSERT 、DELETE 、UPDATE 与SELECT
4.检查SQL语句的执行情况
事务对象的SQLCode 属性会给出一个值标识SQL语句是否执行成功
SQLCode值:0 最近一次SQL语句执行成功
-1 最近一次SQL语句执行失败
100 最近一次SQL语句没有返回数据
5.游标
DELCARE 游标名称 CURSOR FOR SQL语句
游标操作的基本步骤为:
1.用DECLARE 声明游标
2.用OPEN打开游标
3.用FETCH语句读取一行数据
4.处理数据
5.判断是否读取完数据,未读取完则重复3、4、5
6.使用CLOSE 语句关闭游标。
例:string ls_name
declare readdate cursor for select mc from bm where dwid='1';//创建游标并赋值
open readdate;//打开游标
fetch readdate into :ls_name;//从游标中取值,每执行一次游标就会读取下一条数据
do while sqlca.sqlcode=0 //遍历游标
ddlb_1.additem(ls_name)
fetch readdate into :ls_name;
loop
close readdate;//关闭游标
2.7事件和函数
2.7.1调用事件和函数
完整语法:[ObjectName]ancestorclass::[type][when]name([argumnetlist])
说明:ObjectName:指定函数或事件的对象名
ancestorclass:指定函数或事件的祖先类名
type:1 EVENT(调用事件类型),2FUNCTION(调用函数类型)
when: 1 TRIGGER(立即触发事件或函数) 2 POST(异步触发事件或函数)
name:事件或函数的名称
argumnetlist:传给事件或函数的参数值
win_ancesstor::EVENT
ue_process() //调用祖先窗口win_ancesstor中的事件 ue_process()
2.7.2常用函数
1.MessageBox()
可以在屏幕上显示一个窗口,用户在响应该窗口后,程序才能继续运行下去
格式:MessageBox(title,text [,icon
[,button [,default]]])
其中,title和text参数是必需的,其他大括号中的参数是可选项。
各参数的含义如下。
title:String类型,指定消息对话框的标题。v
text:指定消息对话框中显示的消息,该参数可以是数值数据类型、字符串或boolean值。v
icon:枚举类型,可选项,指定要在该对话框左侧显示的图标。值为Information!(默认值);StopSign!;Exclamation!;Question!;None!。v
button:枚举类型,可选项,指定显示在该对话框底部的按钮。值为OK!(默认值);OKCancel!;YesNo!;YesNoCancel!;RetryCancel!;AbortRetryIgnore!。v
default:数值型,可选项,指定作为默认按钮的按钮编号,按钮编号自左向右依次计数,默认值为1。v
函数执行成功时返回用户选择的按钮编号(如1、2、3等),发生错误时则返回-1。如果任何参数的值都为Null,则执行MessageBox()函数后返回Null。
例:
Int
ret
ret=MessageBox("这是一个例子", "是否要存盘?", Question!, YesNoCancel!, 3)
IF ret=1 THEN
//Dw_1.update()
MessageBox("这是一个例子","存盘成功!")
ELSE
IF ret=2 THEN
RETURN
END IF
END IF

2.OPEN()
函数
用于打开一个PowerBuilder窗口。
格式:
Open(window_name)
打开窗口并触发窗口的“Open”事件。
3.Close()函数用于关闭一个PowerBuilder窗口。
格式:
Close(window_name)
或Close(parent)//退出当前窗口 parent 代指当前窗口对象
首先触发窗口的“CloseQuery”事件,若“CloseQuery”事件的返回值不等于1,则再触发“Close”事件,关闭窗口并释放窗口及窗口上的控件所占据的内存。
4.RUN()
Run()函数被用于在PowerBuilder中运行其他的Windows应用程序,如计算器、记事本及其他用户应用程序等。
格式:
Run(appl)或 Run(appl{,windowstate})
其中,参数appl是一个字符串,指明要运行的应用程序名,若不含路径名,则默认为当前路径。
参数windowstate 是个枚举类型,用以指明开始运行时的窗口状态,有3个值:Maximized! 最大化窗口,Minimized! 最小化窗口,Normal! 正常窗口(原始窗口),此为默认值
例:Run("C:\WINDOWS\system32\calc.exe", normal!)

2.8.3应用程序对象函数
菜单栏中的“View/FUNCTION LIST”可以看到可用于应用程序对象的函数列表,在这些函数中SetLibraryList() 和SetTransPool()专门用于应用程序对象。

窗口中的主要函数如下:
1.SetLibraryList():该函数主要用于改变对象库搜索路径中的动态库文件列表。
2.SetTransPool():该函数主要用于为应用程序建立数据库处理池
3.ClassName():该函数用于返回一个对象的类或一个变量的数据类型。
4.GetContextService():该函数用于创建对一个指定服务对象的引用。通过调用该函数,可以访问服务对象的属性
5.PostEvent():该函数用于将一个事件插入到对象消息对列的尾部
6.TriggerEvent():该函数用于触发一个对象的指定事件,执行该事件的脚本
7.TypeOf():该函数用于返回对象或控件的类型。
2.7.4用户自定义函数
1创建自定义函数
2修改自定义全局函数
详细操作流程查看教材
2.7.5事件
常用事件
1.OPEN事件
是一个非常重要的事件,它表明了应用程序对象开始执行。该事件只发生一次,但必须为它编写脚本代码。
在交互式的应用程序中,Open事件脚本的功能是:初始化运行环境并打开程序主窗口
2.Close 事件
Close事件发生在应用程序退出之前,其功能是删除应用程序所产生的临时性文件及定义的对象,在初始化文件中写相应的信息,关闭所访问的资源文件,断开与数据库的连接等等,此事件也只发生一次。
3.Idle事件
在应用程序的任意脚本中,调用Idle事件后,在规定事件内,如果没有使用键盘或鼠标,则触发应用程序的Idle事件。
4.SystemError事件
当应用程序发送严重运行错误时,触发SystemError事件,触发该事件的两个主要原因是:
当程序引用了不存在的对象。
DLL动态库通讯时发生了错误。
5.ConnectonBigen事件
仅用于分布式应用程序
6.ConnectonEnd事件
仅用于分布式应用程序
PowerBuilder学习笔记之2PowerScript语言(三)的更多相关文章
- PowerBuilder学习笔记之2PowerScript语言(一)
教材链接:https://wenku.baidu.com/view/1e82d26925c52cc58ad6be05.html?sxts=1565679996440 2.1PowerScript基础 ...
- PowerBuilder学习笔记之2PowerScript语言(二)
z教材地址:https://wenku.baidu.com/view/1e82d26925c52cc58ad6be05.html?sxts=1565679996440 2.4数组 声明数组:Integ ...
- 23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite
23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite 2016-07-22 (www.cnblogs.com/icmzn) 模式理解
- Java虚拟机内存溢出异常--《深入理解Java虚拟机》学习笔记及个人理解(三)
Java虚拟机内存溢出异常--<深入理解Java虚拟机>学习笔记及个人理解(三) 书上P39 1. 堆内存溢出 不断地创建对象, 而且保证创建的这些对象不会被回收即可(让GC Root可达 ...
- 23 DesignPatterns学习笔记:C++语言实现 --- 2.7 Proxy
23 DesignPatterns学习笔记:C++语言实现 --- 2.7 Proxy 2016-07-18 (www.cnblogs.com/icmzn) 模式理解
- 23 DesignPatterns学习笔记:C++语言实现 --- 2.6 Facade
23 DesignPatterns学习笔记:C++语言实现 --- 2.6 Facade 2016-07-22 (www.cnblogs.com/icmzn) 模式理解
- 23 DesignPatterns学习笔记:C++语言实现 --- 2.5 Factory
23 DesignPatterns学习笔记:C++语言实现 --- 2.5 Factory 2016-07-18 (www.cnblogs.com/icmzn) 模式理解 1. Flyweight ...
- 23 DesignPatterns学习笔记:C++语言实现 --- 2.2 Adapter
23 DesignPatterns学习笔记:C++语言实现 --- 2.2 Adapter 2016-07-22 (www.cnblogs.com/icmzn) 模式理解
- 23 DesignPatterns学习笔记:C++语言实现 --- 2.1 Bridge
23 DesignPatterns学习笔记:C++语言实现 --- 2.1 Bridge 2016-07-22 (www.cnblogs.com/icmzn) 模式理解
随机推荐
- Shell登陆远程服务器
现场服务器较多,密码3个月过期,在到期时需更改密码. 使用expect编写,尝试登陆2次后退出(防止密码错误时账号锁定),超时重试一次. shell脚本调用并定时执行,登陆成功后执行一条命令,如:ho ...
- 深度学习面试题16:小卷积核级联卷积VS大卷积核卷积
目录 感受野 多个小卷积核连续卷积和单个大卷积核卷积的作用相同 小卷积核的优势 参考资料 感受野 在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(fe ...
- 在Ubuntu 18.04上安装OpenCV 4(C ++和Python)
OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0.这些版本中有很多错误修复和其他更改.发布重点如下: OpenCV现在是C ++ 11库,需要符合C ++ 11标准的 ...
- 10分钟彻底理解Redis持久化和主从复制
在这篇文章,我们一起了解 Redis 使用中非常重要的两个机制:Reids 持久化和主从复制. 什么是 Redis 持久化? Redis 作为一个键值对内存数据库(NoSQL),数据都存储在内存当中, ...
- 空指针异常 自动拆箱 防止 NPE,是程序员的基本修养 本手册明确防止 NPE 是调用者的责任。
空指针异常 空指针异常是指java中的异常类. 中文名 空指针异常 外文名 NullPointerException 当应用程序试图在需要对象的地方使用 null 时,抛出该异常.这种情况包括: ...
- PHP 类属性
属性 (Properties) 类的变量成员叫做“属性”,或者叫“字段”.“特征”,在本文档统一称为“属性”.属性声明是由关键字 public,protected或者 private 开头,然后跟一个 ...
- ISO/IEC 9899:2011 条款6.8.2——标签语句
6.8.2 复合语句 语法 1.compound-statement: { block-item-listopt } block-item-list: block-item block-i ...
- zookeeper在windows的常用命令
首先简要讲下安装 安装jdk 安装Zookeeper. 在官网http://zookeeper.apache.org/下载zookeeper.我下载的是zookeeper-3.4.6版本. 解压zoo ...
- Spring cloud微服务安全实战-3-9API安全机制之审计日志
首先说一下审计日志的处理.审计日志处理的位置,应该是在认证之后,授权之前.因为只有你在认证之后,你才能知道这个请求到底是谁发出来的,谁在做这个事情.在这个授权之前,这样的话那些被拒绝掉的请求.在响应的 ...
- 一个80后妈妈的邪淫忏悔(转自学佛网:http://www.xuefo.net/nr/article55/551761.html)
我是一个80后独生女,2012年因为孩子小产后,痛苦难当,悲伤中想起可为孩子超度,因此开始了与佛法的缘分.断断续续几年的学习,才真的知道了邪淫的可怕 我从小面容姣好,气质超群,一直被父母,老师宠爱.想 ...