Delphi——数据库高级应用技术

Delphi——数据库高级应用技术

ID:38959420

大小:1.14 MB

页数:34页

时间:2019-06-22

Delphi——数据库高级应用技术_第1页
Delphi——数据库高级应用技术_第2页
Delphi——数据库高级应用技术_第3页
Delphi——数据库高级应用技术_第4页
Delphi——数据库高级应用技术_第5页
资源描述:

《Delphi——数据库高级应用技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10章数据库高级应用技术本章主要内容:事务的概念Delphi中的事务控制Delphi中使用存储过程主从结构的数据库应用程序10.1事务处理10.1.1事务的概念当用Delphi创建数据库应用时,Delphi提供了用于所有数据库访问的事务控制。一个事务(transaction)是指在一个数据库中的一张或多张表上执行的一组相关动作,在这一组动作被永久提交前,必须成功完成所有动作,如果该组动作中有一个动作操作失败,那么所有动作就会被取消。10.1.2事务的特性事务具有不可分性、一致性、隔离性和持续性。1.不可分性事务是一个工作单元,是在应用程序的BEGINTRANSACTION和ENDTRAN

2、SACTION语句之间发生一系列操作。事务只执行一次,且是不可分的,即完成全部工作或者不做任何工作。10.1事务处理2.一致性事务是一个完整的单元,因为它保持数据的一致性,将数据从一种数据一致状态转换到另一种数据一致状态。3.隔离性事务是一个隔离单元,允许可并行执行的事务表现得像是在系统中运行的唯一事务。隔离性要求即使同时可能有其他事务正在运行,每个事务也像是操作数据存储区的唯一事务一样。事务应从不查看其他事务的中间阶段。4.持续性事务也是一个恢复单元。如果事务成功,则即使在提交后计算机立即崩溃,系统仍将保证更新该事务。专用记录允许系统的重新启动过程完成未完成的操作,以使事务可持续。10.

3、1事务处理10.1.3Delphi中事务控制的方式1.Delphi中事务控制的方式Delphi中事务控制的方式有两种:一种是隐式事务控制,一种是显式事务控制。在默认情况下,Delphi通过ADO为应用程序提供隐式事务控制。当应用程序处于隐式事务控制时,Delphi为数据集中的每个记录的写操作进行隐式事务控制。它提交每一个独立的写操作,如Post和AppendRecord。有两种显式控制事务方式:一种是使用Delphi组件(如TADOConnection)所提供的方法和属性进行事务控制。另一种是直接发送SQL命令到支持事务的数据库服务器进行事务控制。许多数据库都提供自己的事务处理方式。10.

4、1事务处理2.使用TADOConnection控制事务(1)事务处理过程通常事务处理有以下这样一个过程:BeginTrans;//开始一个新事务处理try//捕捉异常.数据库更新操作(如delete、insert、update等)..CommitTrans;//操作成功,提交事务except//异常处理RollBackTrans;//操作失败,回退事务end;10.1事务处理(2)开始一个事务开始一个事务使用BeginTrans方法。当开始一个事务时,后来的所有读写数据库的操作都发生在那次事务的环境中,直到事务被明确地终止或提交了新事务。使用例句:Level:=ADOConnection1

5、.BeginTrans;BeginTrans方法返回该事务的嵌套级别。(3)提交一个事务为了做永久性修改,事务完成后必须使用CommitTrans方法提交。例如,下列语句将终止在上例中开始的事务:ADOConnection1.CommitTrans(4)回退一个事务为了取消对数据库的修改,必须用RollbackTrans方法回退一个事务。10.1事务处理例如:下列语句将回退一个事务:ADOConnection1.RollbackTrans;(5)判断是否正在处理事务判断是否正在处理事务,可以通过InTransaction属性。例:IFADOConnection1.InTransaction

6、THENADOConnection1.RollbackTrans;(6)使用IsolationLevel属性IsolationLevel属性描述TADOConnection组件事务的独立级别,事务的独立级别决定了事务与其它作用于相同表的事务是如何相互作用的。10.1事务处理10.1.4事务处理的实例下面以一个简单的例子说明事务的处理过程。【例10-1】Delphi对TDBGrid组件使用的是默认的隐含事务控制,在表格修改一条记录后,当记录指针移动以后,数据就被写入到数据库中了。若表格很大、修改项目又很多时,如果中途想要放弃所作的修改,很难使表格恢复原样。这时就可以使用事务处理来解决这样的问

7、题。编程实现对数据库dbdemos.mdb的表employee的事务操作。【实现步骤】1.首先建立应用程序。2.定制窗体10.1事务处理图10-1程序设计界面10.1事务处理组件名属性属性值说明ADOConnection1ConnectionString使用ConnectionString设置对话框设置该属性,连接到数据库dbdemos.mdb。ADOTable1ConnectionADOConnection1指定使用的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。