文档介绍:基于PowerBuilder的嵌入式SQL编程 plc编程入门梯形图
摘要:针对嵌入式SQL编程技术,本文叙述了怎样在PowerBulider语言中实现嵌入式SQL编程技术,具体描述了技术的原理及详细实现的细节,并给出对应的编程实例代码。
关键词:PowerBlider;嵌入式SQL;通信区;游标
中图分类号:TP311文件标识码:A文章编号:1009-304418-31679-02
The Programming Technology of Embedded SQL Base on PowerBuilder Language
QIN Fei-zhou
Abstract:The programming technology about Embedded SQL, we have dicussed the form of Embedded SQL base on PowerBuilder language in this paper. We have not only discussed the principle of technology and described the realization detail, but also produced the corresponding programming example code.
Key words:PowerBuilder; The Embedded SQL; communication; cursor
1 引言
标准SQL是非过程化的查询语言,含有操作统一、面向集合、功效丰富、使用简单等多项优点。但和程序设计语言相比,高度非过程化的优点同时也成了它的一个弱点。因为她缺乏步骤控制能力,难以实现应用业务中的逻辑控制。
为了处理这一问题,将SQL嵌入到某种高级语言中使用,利用高级语言的过程性程序结构来完成逻辑控制。这种方法下使用的SQL语言称为嵌入式SQL。经过嵌入式SQL可提升应用系统和关系数据库管理系统间的互操作性。
应用系统中使用SQL编程来访问和管理数据库中数据的方法关键有:嵌入式ESQL、PL/SQL、ODBC编程、JDBC编程和OLEDB编程等方法。本文关键叙述怎样在PowerBuilder语言中实现嵌入式SQL编程。
2 基于PowerBuilder语言的嵌入式SQL
嵌入式SQL在PowerBuilder中的标识
嵌入式SQL是将SQL语句嵌入程序设计语言中,被嵌入的程序设计语言PowerBuilder称为宿主语言,简称主语言。
RDBMS通常采取预编译方法处理ESQL,即由RDBMS的预处理程序对源程序进行扫描,识别出ESQL语句,把它们转换成主语言调用语句,以使主语言编译程序能识别它们,然后由主语言的编译程序将纯的主语言程序编译成目标代码。
在ESQL中,为了能够区分嵌入式SQL语句和主语言语句,全部SQL语句全部必需加一个标识。在PowerBuilder中的每一个SQL语句结束处加上一个分号“;”作为区分标识。
嵌入式SQL语句和PowerBuilder之间的通信
将SQL嵌入到PowerBulider语言中混合编程,SQL语句负责操纵数据库,高级语言语句负责控制程序步骤。这时程序中会含有两种不一样计算模型的语句,它们之间应该怎样通信呢?PowerBuilder提供了一个非可视事务对象,用于主语言和数据库的连接,即它是应用程序和数据库之间的通信区域。
在PowerBuilder应用程序中,假如要连接和操作数据库,则必需首先建立事务对象。事务对象的属性分为两大部分,一部分是连接数据库的参数,另一部分则接收返回的数据库操作状态信息。每个事务对象有15个属性,其中有10个属性用于数据库的连接,5个属性用于接收数据库返回的操作状态信息。详细内容以下表所表示。
事务对象的使用方法
事务是操作数据库的基础单位,事务对象是操作数据库的基础工具。PowerBulider使用一个叫做逻辑工作单元的数据库事务处理基础概念。LUW是事务的同义词,一个事务是由一条或多条SQL语句组成的一个LUW。在一个事务内,全部的SQL语句作为一个整体,要么全部实施成功,要么全部实施失败。
在PowerBuilder中有四条管理事务的语句,它们是CONNECT、COMMIT、DISCONNECT、ROLLBACK。
CONNECT语句用来建立到数据库的连接,同时标志着一个事务的开始。在CONNECT语句之前,对应的事务对象必需存在,而且连接数据库所需要的事务对象的属性必需已经赋值。DISCONNECT语句首先结束目前的事务,然后断