Database 版 (精华区)

发信人: zhaowei (小燕子), 信区: Database
标  题: 9.2.2 使用事务对象
发信站: 紫 丁 香 (Fri Jun 11 16:11:26 1999), 转信

1. 使用SETTRANS函数:SETTRANS函数将一个特定的事务对象拷贝到数据窗口控件的内部
事务对象当中。在程序使用该函数的时候,数据窗口控件使用自己内部的事物对象并且
根据需要自动执行连接与断开连接的操作,如果出现错误,则自动撤消已做的所有更新
操作,恢复到事务开始时的状态。
当数据窗口要访问数据库的时候,如果执行一个RETRIEVE命令或者UPDATE命令,数据窗
口就会发出一个内部CONNECT命令,处理相应的数据访问。数据处理结束后,还会发出
一个内部的DISCONNECT命令,断开与数据库的连接。所以如果在程序中使用SETTRANS函
数,不需要另外书写CONNECT和DISCONNECT命令。
    从上面的内容当中,我们可以看出SETTRANS语句的缺陷,那就是,在每次进行数据
库访问的时候,都要与数据库建立新的连接,而这种连接会占用相当部分的系统资源。
而且在进行数据库访问的时候,用户不能对这个访问过程进行控制。如果使用SETTRANS
语句,当数据库连接的数目增大的时候,程序的效率就要受到影响了。
2 使用SETTRANSOBJECT命令:使用这条命令可以为一个数据窗口指定一个事务对象。我
们应该按照下面的顺序编写脚本来进行数据库的访问。
CONNECT
SETTRANSOBJECT
RETRIEVE或UPDATE
COMMIT或ROLLBACK
DISCONNECT
这里我们看到了两条新的指令:RETRIEVE和UPDATE
RETRIEVE指令的功能是在使用SETTRANSOBJECT语句把一个数据窗口和一个事务处理对象连
接起来之后,把数据库中的内容检索到数据窗口当中去。它的调用格
式是DATAWINDOW.RETRIEVE()
如果要访问的数据源是使用SQL SELECT语句产生的,那么在调用RETRIEVE函数的时候必
须给出参数值,调用格式如下:DATAWINDOW.RETRIEVE(ARG1,ARG2,…)
RETRIEVE函数中的参数次序要与数据窗口对象中定义的SQL SELECT参数的次序保持一
致。POWER BUILDER允许RETRIEVE函数带有多于数据窗口对象在SQL SELECT中定义的原
有参数数目的参数,多余的参数将被忽略。利用这个特点,可以设计出能够操作不同
数据窗口对象的通用检索。
UPDATE指令的功能是在对数据窗口中的数据进行修改之后,需要使用UPDATE函数将所做
的修改写回到数据库中去。
 

--
 我和一个朋友去散步,遇见一个漂亮的少妇带着一个小孩平时极腼腆的朋友一改
平日恹恹睡态,勇敢的走上前去, ∴
         《||||||||||||||||||||■※※◎    亲切的看着那小孩说:
                               ∵    ."   多可爱的孩子啊,
                                 ...''   抬头看看少妇,
                               ~"'     “还有孩子他妈!”

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.226.249]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.831毫秒