1 / 248
文档名称:

PowerBuilder应用开发系列.doc

格式:doc   页数:248
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

PowerBuilder应用开发系列.doc

上传人:钻石文档库 2013/12/6 文件大小:0 KB

下载得到文件列表

PowerBuilder应用开发系列.doc

文档介绍

文档介绍:优秀资料
PowerBuilder应用开发经验篇
PowerBuilder应用开发系列(1)
数据库的事务管理
在数据库中,所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态。为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退到开始状态。
对事务的操作是这样进行的:先定义开始一个事务,然后对数据作修改操作,MIT),这些修改就永久地保存下来,如果回退(ROLLBACK),数据库管理系统将放弃您所作的所有修改而回到开始事务时的状态。此外有些数据库支持事务的"存储点(savepoint)这一概念:即在一个事务进程中任意一点您都可以进行当前状态的存储,回退时只是回到你所设定的存储点,而不必退回全部的事务。如果您的事务可以分成几组对数据库的修改,那就可以设置多个存储点,根据需要您可以回退到任意一个存储点,而不使所有事务的修改数据全部丢失。
正确地管理事务可以保证数据的完整性,当您所做的工作全部完成和得到确认之前,没有任何数据物理地写进数据库。让我们来看这样一个实例,我们有这样一个银行应用系统,前台使用者作出将储户甲的一百元存款划归储户乙帐下的操作;在后台的数据库中
,这两个客户的记录分储在两张表中,当使用者在屏幕上作出如上操作时,在后台需要对两张表进行修改。如果在数据库中对甲用户存款余款作减去一百元修改后,对乙用户加一百元的操作修改却失败时,前一张表也必须回到修改前的状态,否则数据库的内容不统一,甲储户白白损失一百元,信息必然是不正确的。因此进行事务管理是必须的。
传统地,我们认为一个事务包括了对一个或多个表的修改,而随着分布式数据库和数据仓库的发展,事务可能包括了对一个或多个数据库的修改。在上例中甲乙两用户就可能是异地用户,信息分储在不同地域的不同数据库中,上述的一个事务就涉及到了对不同数据库的操作。
PowerBuilder中的事务管理
作为数据库的前台开发工具Power-Builder支持事务管理的操作。在Power-Builder中有一种称作事务(transaction)的对象,这个对象是PowerBuilder应用与数据库的通讯区域。PowerBuilder在应用开始时建立一个全局的事务对象SQLCA。由于大多数的应用只用到一个数据库,所以一般开发者主要也只用SQLCA作为与唯一数据库连接的事务对象。
MIT,ROLLBACK,CONNECT,DISCONNECT。
当您需要应用与数据库建立连接时使用CONNECT这一操作命令,取消连接时执行DISCONNECT,这两个命令一般分别用在应用的开始和结束
,也就是Appli-cation的Open和Close事件中。
当一个事务的数据库修改都成功地完成后,-MIT语句是一个旧事务结束和一个新事务开始的界线。在修改被提交前,数据库的数据并没有被真正地修改,这些修改被保留在某个工作区,只有作修改的用户才能看到这些被修改后的值,提交之后,则所有的用户就都可以看到新值了。
在事务的进程中发生某些错误,或者在操作中出于种种原因打算中止事务,须用ROLLBACK命令回退事务,如果已作的操作不用ROLLBACK命令取消,这些操作必将错误地作为下一个事务的一部分而导致数据库的混乱。
如果您使用的是多窗口的应用,却只用一个事务对象,就应格外注意ROLL-MIT会影响事务的逻辑一致性。在某个窗口执行的这两个指令会使其他窗口应用中所进行到一半的工作提交或回退。
在多用户系统中,修改和提交的时间越接近,提交成功的可能性就越高。因为一个事务中所有的SQL语句全部执行成功而提交却失败是完全可能发生的,例如在您的事务过程中,另一个用户修改了数据并提交,这很可能使您作出的修改无效,MIT将失败,您必须回退这一事务的全部。
mit属性
-mit的属性可以使开发者简化对事务管理的操作,这一布尔型的属性可以用TRUE或FALSE来对其赋值。当其为真时
,PowerBuilder不通过其他额外的交互就将您的SQL语句传输给后台数据库,而且执行完毕自动提交。
当然,mit属性为假(缺省值),MIT或ROLLBACK这样的关键词提交或回退事务。在大多数应用中,一部分的数据库操作是要成组提交的,而另一些则不用。mit的特性来确定事务的起点,mit的属性设为False时,系统设定此时为事务的起点。mit设为真时,系统自动消取这一事务。mit设为真,当您需要开始一个事务时,将其置为false,此刻即为事务起始点。
PowerBuilder内部这种事务管理的最大优点是方便。您不去考虑整个事务,而只需把您所作的修改提交或滚回即可。但是方

最近更新

2025年南充电影工业职业学院单招职业倾向性考.. 44页

绿色办公材料对空气质量的影响 35页

2025年南昌大学共青学院马克思主义基本原理概.. 13页

绿饮政策碳减排效应 35页

2025年卢氏县招教考试备考题库带答案解析(夺.. 31页

2025年厦门大学马克思主义基本原理概论期末考.. 13页

网络功能虚拟化升级 35页

2025年台前县招教考试备考题库带答案解析(必.. 31页

羽绒干法分离创新 34页

2025年合肥工业大学马克思主义基本原理概论期.. 13页

绿色消费理念在商超场景的应用探索 35页

胃癌干细胞与肿瘤侵袭性 35页

风热咳嗽的中医证候辨证体系 35页

2025年同济大学马克思主义基本原理概论期末考.. 13页

腹膜炎中医病因病机探讨 37页

2025年哈密职业技术学院单招职业技能测试题库.. 43页

2025年哈尔滨师范大学马克思主义基本原理概论.. 13页

缺陷传播路径分析 35页

2025年商都县招教考试备考题库及答案解析(夺.. 31页

2025年嘉黎县招教考试备考题库及答案解析(必.. 31页

2025年四川司法警官职业学院单招职业倾向性考.. 43页

风险感知影响因素 35页

高温合金强化工艺 35页

2025年四川西南航空职业学院单招职业倾向性测.. 45页

网络调查方法与数据分析 36页

2025年夏河县幼儿园教师招教考试备考题库带答.. 31页

2025年天府新区信息职业学院马克思主义基本原.. 12页

肉牛基因编辑育种模式创新 36页

聚合物地板创新 38页

钢铁产业智能化升级趋势 35页