1 / 34
文档名称:

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

格式:ppt   大小:1,312KB   页数:34页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

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

上传人:iluyuw9 2018/7/31 文件大小:1.28 MB

下载得到文件列表

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

相关文档

文档介绍

文档介绍:第10章数据库高级应用技术
本章主要内容:
事务的概念
Delphi中的事务控制
Delphi中使用存储过程
主从结构的数据库应用程序
事务处理
事务的概念
当用Delphi创建数据库应用时,Delphi提供了用于所有数据库访问的事务控制。
一个事务(transaction)是指在一个数据库中的一张或多张表上执行的一组相关动作,在这一组动作被永久提交前,必须成功完成所有动作,如果该组动作中有一个动作操作失败,那么所有动作就会被取消。
事务的特性
事务具有不可分性、一致性、隔离性和持续性。
1. 不可分性
事务是一个工作单元,是在应用程序的 BEGIN TRANSACTION 和 END TRANSACTION 语句之间发生一系列操作。事务只执行一次,且是不可分的,即完成全部工作或者不做任何工作。
事务处理
2. 一致性
事务是一个完整的单元,因为它保持数据的一致性,将数据从一种数据一致状态转换到另一种数据一致状态。
3. 隔离性
事务是一个隔离单元,允许可并行执行的事务表现得像是在系统中运行的唯一事务。隔离性要求即使同时可能有其他事务正在运行,每个事务也像是操作数据存储区的唯一事务一样。事务应从不查看其他事务的中间阶段。
4. 持续性
事务也是一个恢复单元。如果事务成功,则即使在提交后计算机立即崩溃,系统仍将保证更新该事务。专用记录允许系统的重新启动过程完成未完成的操作,以使事务可持续。
事务处理
Delphi中事务控制的方式
1. Delphi中事务控制的方式
Delphi中事务控制的方式有两种:一种是隐式事务控制,一种是显式事务控制。
在默认情况下,Delphi通过ADO为应用程序提供隐式事务控制。当应用程序处于隐式事务控制时,Delphi为数据集中的每个记录的写操作进行隐式事务控制。它提交每一个独立的写操作,如Post和AppendRecord。
有两种显式控制事务方式:
一种是使用Delphi组件(如TADOConnection)所提供的方法和属性进行事务控制。
另一种是直接发送SQL命令到支持事务的数据库服务器进行事务控制。许多数据库都提供自己的事务处理方式。
事务处理
2. 使用TADOConnection控制事务
(1) 事务处理过程
通常事务处理有以下这样一个过程:
BeginTrans; //开始一个新事务处理
try //捕捉异常
. 数据库更新操作(如delete、insert、update等)
.
.
CommitTrans;//操作成功,提交事务
except //异常处理
RollBackTrans;//操作失败,回退事务
end;
事务处理
(2) 开始一个事务
开始一个事务使用BeginTrans方法。当开始一个事务时,后来的所有读写数据库的操作都发生在那次事务的环境中,直到事务被明确地终止或提交了新事务。
使用例句:
Level := ;
BeginTrans方法返回该事务的嵌套级别。
(3) 提交一个事务
为了做永久性修改,mitTrans方法提交。
例如,下列语句将终止在上例中开始的事务:
mitTrans
(4) 回退一个事务
为了取消对数据库的修改,必须用RollbackTrans方法回退一个事务。
事务处理
图10-1 程序设计界面
事务处理
组件名
属性
属性值
说明
ADOConnection1
ConnectionString
使用ConnectionString设置对话框设置该
属性,。
ADOTable1
Connection
ADOConnection1
指定使用的数据连接组件。
TableName
employee
指定打开的数据表名
Active
True
打开数据集。
DataSource1
DataSet
ADOTable1
指定使用的数据集。
DBGrid1
DataSource
DataSource1
为表格指定数据源。
ReadOnly
True
表格设置为只读
btnBegin
Caption
开始事务
Enable
True
允许使用按钮
mit
Caption
提交事务
Enable
False
禁止使用按钮
btnRollBack
Caption
回退事务
Enable
False
禁止使用按钮
btnClose
Caption
关闭
Enable
True
允许使用按