zoukankan      html  css  js  c++  java
  • TSQLConnection的事务处理

    数据库的事务处理对保证数据的一致性和完整性至关重要。在delphi中调用SQLConnection1.StartTransaction(TransDesc:TTransactionDesc)开始事务,SQLConnection1.Commit(TransDesc:TTransactionDesc)完成事务,SQLConnection1.Rollback(TransDesc:TTransactionDesc)回滚到事务之前的状态。SQLConnection可嵌套事务,如果数据源支持的话。

    TTransactionDesc = packed record
         TransactionID    : LongWord;//指定唯一事务ID,就像WIN中的PID不能有重复
         GlobalID         : LongWord;//Oracle中的全局事件ID
         IsolationLevel   : TTransIsolationLevel;//不同事件间的隔离程度
         CustomIsolation  : LongWord;//如果IsolationLevel为xilCustom,则CustomIsolation必须被指定
    end;
    TTransIsolationLevel:
    xilDIRTYREAD//目前的事务可以获取到其它事务在未Commit前对于数据的修改。会出现脏读、不可重复读、幻读。
    xilREADCOMMITTED//只获取到已被其它事务Commit后的修改的数据。 会出现不可重复读、幻读问题。
    xilREPEATABLEREAD//能获取到当前事件激活前已被其它事务Commit后的数据。会出幻读。
    xilCUSTOM//定制TransIsolationLevel
    驱动默认设置为xilREADCOMMITTED模式。
  • 相关阅读:
    洛谷 P2480 [SDOI2010]古代猪文
    [六省联考2017]组合数问题
    数据结构--左偏树(可并堆)
    图论--tarjan求割点
    图论--tarjan缩点
    图论--DFS-SPFA求负环
    图论--tarjan求lca
    洛谷 P2163 [SHOI2007]Tree 园丁的烦恼
    数据结构--主席树(不带修改)
    洛谷 P1712 区间
  • 原文地址:https://www.cnblogs.com/sun998/p/6532909.html
Copyright © 2011-2022 走看看