只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的锁定数据记录,手机电脑控们准备好了吗?一起看过来吧!
【 tulaoshi.com - 编程语言 】
锁定数据记录ADO组件有一个非常好的属性LockType,可用于锁定记录,这样当一个更新开始之前可以去检查这个属性,如果还在锁定状态,则需要等待,以避免更新冲突.该属性具体说明如下:
  
  LockType 属性      
  
  指示编辑过程中对记录使用的锁定类型。
  
  设置和返回值
  
  设置或返回以下某个 LockTypeEnum 的值。
  
  常量 说明 
  adLockReadOnly 默认值,只读。无法更改数据。 
  adLockPessimistic 保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用编辑时立即锁定数据源的记录的方式。 
  adLockOptimistic 开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用 Update 方法时锁定记录。 
  adLockBatchOptimistic 开放式批更新。用于与立即更新模式相反的批更新模式。 
  
  
  说明
  
  打开 Recordset 前设置 LockType 属性可指定打开时提供者应该使用的锁定类型。读取该属性可返回在打开的 Recordset 对象上正在使用的锁定类型。Recordset 关闭时 LockType 属性为读/写,打开时该属性为只读。
  
  提供者可能不支持所有的锁定类型。如果某提供者不支持所需的 LockType 设置,则将替换为其他类型的锁定。要确定 Recordset 对象可用的实际锁定功能,请通过 adUpdate 和 adUpdateBatch 使用 Supports 方法。
  
  如果 CursorLocation 属性被设置为 adUseClient,将不支持 adLockPessimistic 设置。设置不支持的值不会产生错误,因为此时将使用支持的最接近的 LockType 的值。
  
  远程数据服务用法   当在客户端 (ADOR) 的 Recordset 对象上使用时,LockType 属性只能设置为 adLockOptimisticBatch。
  
  注:
      更新数据前最后使用事务:
      ADOConnection.BeginTrans;                  // 开始一个事务
      try
        // 在这里写更新数据库语句.
        ADOConnection.CommitTrans            // 提交一个事务
      except
         ADOConnection.RollbackTrans;        // 事务失败则回滚事务,放弃所有更新操作
      end; 
来源:http://www.tulaoshi.com/n/20160219/1606703.html