问:事务对象到底是何方神圣呢?
答:它是PowerBuilder众多对象中最重要的一个对象,并且也是最不好理解的一个对象。它实际上是PowerBuilder程序与数据库之间传递信息的一个结构变量,共有15个成员。
[注]事务对象的15个成员
序号 | 名称 | 类型 |
说明 | |
1 | DBMS | string | 所使用的数据库管理系统的名字,如Sybase,Oracle,ODBC。 | |
2 | Database | string | 要连接的数据库名字。 | |
3 | UserID | string | 连接数据库所用的用户名。有的DBMS不需要此项。 | |
4 | DBPass | string | 用户连接数据库的口令。 | |
5 | Lock | string | 这是数据库的保护级别,一般不必给出。 | |
6 | LogID | string | 登录到数据库服务器上的用户名,有的DBMS不需要此项,但Sybase和Oracle需要指定这个参数。 | |
7 | LogPass | string | 登录到数据库服务器上的用户口令。这个属性可设可不设,但Sybase和Oracle需要指定口令。 | |
8 | ServerName | string | 数据库服务器名。 | |
9 | AutoCommit | boolean | 指定是否将数据库设置成自动提交所有事务。默认是False,也就是说,必须在应用程序中进行事务管理,并在适当的时候对数据库提交事务。如果选择True,则每个事务都由系统自动提交。 | |
10 | DBParm | string | 用于向数据库传递特殊信息的属性。 | |
11 | SQLCode | long | 指示最近一次SQL操作失败或成功。它的取值为: | |
返回结果 | 0 | 无错误。 | ||
-1 | 出现一个错误。 | |||
100 | 没有检索到数据。 | |||
12 | SQLNRows | long | 最近一次SQL操作影响的行数,数据库不同其含义也不同。 | |
13 | SQLDBCode | long | 数据库错误代码。不同的数据库的含义不同。 | |
14 | SQLErrText | string | 相应于SQLDBCode属性中错误码的文字说明。 | |
15 | SQLReturnData | string | 返回DBMS执行SQL的附加信息,不同的DBMS其值不同。 |
例子:这是一个连接Sybase数据库所需的代码实例:
sqlca.dbms="Sybase"
sqlca.database="testdatabase"
sqlca.logid="lihongwei"
sqlca.logpass="lag"
sqlca.servername="jhc_server"
sqlca.autocommit=false
这是一个连接ODBC数据库(如Sybase SQLAnywhere 5.0)所需的代码实例:
sqlca.dbms="odbc"
sqlca.dbparm="connectstring='dsn=testdatabase'"