PB中用事物对象连接数据库的方法

更新时间:2023-10-04 22:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

应用程序与数据库的连接通过事务对象来完成,在建立连接前需要首先给事务对象的相关属性赋值,然后用嵌入式SQL语句CONNECT建立连接。不同的数据库管理系统使用的事务对象属性也不尽相同。如果应用程序只访问一个数据库,那么使用PowerBuilder的缺省事务对象SQLCA也就可以了。SQLCA是个全局对象,在应用程序的任何地方都可以访问。下面是使用SQLCA与ODBC数据源建立连接的简单示例:

//设置事务对象属性 SQLCA.DBMS=\

SQLCA.DBParm=\Demo DBV6;UID=dba;PWD=sql'\

//与数据库连接

CONNECT USING SQLCA; //检查连接是否成功

If SQLCA.SQLCode<0 Then

MessageBox(\连接失败\End If

上面的示例中我们直接把连接参数写死在程序中,这种方式在应用程序需要访问其它数据库时就要修改代码,更合理的方式是利用PowerBuilder的初始化文件PB.INI,下面是更通用的代码:

environment env// 保存环境信息

string startupfile// 保存初始化文件名 /* 得到环境信息*/

IF ( GetEnvironment(env) <> 1 ) THEN

MessageBox( \系统出错\得不到环境信息,~n终止应用 ...\HALT //终止应用程序的执行 END IF

/* 根据当前使用的操作系统选择初始化文件*/ CHOOSE CASE env.OSType CASE Windows!,WindowsNT! startupfile = \

CASE Sol2!, AIX!, OSF1!, HPUX! startupfile = \CASE Macintosh!

startupfile = \CASE ELSE

MessageBox( \系统出错\未知的操作系统,~n终止应用...\HALT

END CHOOSE

/* 根据当前 PB.INI的设置值设置SQLCA属性*/

SQLCA.DBMS= ProfileString (startupfile, \SQLCA.database = ProfileString (startupfile, \

SQLCA.userid = ProfileString (startupfile, \\SQLCA.dbpass = ProfileString (startupfile, \\SQLCA.logid = ProfileString (startupfile, \SQLCA.logpass = ProfileString (startupfile, \

SQLCA.servername = ProfileString (startupfile, \

SQLCA.dbparm = ProfileString (startupfile, \\//与数据库连接

CONNECT USING SQLCA; //检查连接是否成功

If SQLCA.SQLCode<0 Then

MessageBox(\连接失败\End If 需要时,应用程序也可以创建新的事务对象,以适应同时连接到多个数据库管理系统的要求。创建新的事务对象的方法是:先说明一个类型为Transaction的事务对象变量,然后用CREATE语句创建事务对象实例,下面的语句创建了一个名字为DBTrans的事务对象实例:

transactionDBTrans

DBTrans = CREATE transaction创建了对象实例后,像前面介绍的SQLCA那样给事务对象属性赋值,然后用CONNECT语句建立与数据库的连接。

注意:用CREATE语句创建的事务对象不再使用时,应该用DESTROY语句删除该对象,以节省系统资源。

某个数据库连接不再使用时,应该及时地使用DISCONNECT语句断开与数据库的连接。数据库连接是数据库服务器的宝贵资源。

本文来源:https://www.bwwdw.com/article/mq8d.html

Top