DAO事务处理-这是什么?

事务处理是一个数据库术语,指的是将数据更改分组为一个原子单元的批处理过程。 整批事务都成功,或者全部失败。 交易的典型说明是在银行应用程序中将数据从一个帐户转移到另一个帐户。 您不希望您的原始帐户借记特定金额,发生错误,并且不希望将您的期末帐户记入贷方。

当涉及到DAO事务时,我们将处理Workspace对象的3个关键方法。 ADO Transactions虽然非常相似,但将在另一个提示中介绍。 下面简要介绍这3种方法:

  1. BeginTrans-标记应视为单个原子单位的一系列操作的开始。
  2. CommitTrans-接收自最近的BeginTrans以来的所有内容并将其写入磁盘。
  3. 回滚-与CommitTrans相反; 它会将您所做的所有更改撤消到最后一个CommitTrans。 这里的关键是全部。
在其基本的缩略格式中,DAO事务处理看起来像这样:
On Error GoTo Err_Handler 
Dim wrkCurrent As DAO.Workspace
Dim blnInTrans As Boolean      'are we in a Transaction? 
blnInTrans = False      'not in a Transaction yet
Set wrkCurrent = DAO.DBEngine.Workspaces(0)
'... 
wrkCurrent.BegingTrans
blnInTrans = True      'presently in a Transaction 
'make all data modifications/changes here 
wrkCurrent.CommitTrans
blnInTrans = False      'changes committed without an Error, Transaction is complete 
'...
Err_Handler:
  If blnInTrans Then      'was the Transaction successfully completed, or does it need to be Rolled back?
    wrkCurrent.Rollback
  End If
  'continue Error Processing if necessary
使用DAO事务处理时的几个问题:
  1. 并非所有记录集都支持事务处理。 检查记录集的Transactions属性以查看其是否支持事务处理。
  2. 事务影响工作空间中所有数据更改。
  3. 您可以在Jet数据库中最多嵌套5个级别的事务。 内部事务必须在周围事务之前提交或回滚。
  4. 如果在未明确提交其事务的情况下关闭工作区,则所有未决事务将自动回滚。

From: https://bytes.com/topic/access/insights/671094-dao-transaction-processing-what

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值