C#中使用OracleTransaction


1、 OracleTransaction類的概述(from msdn )

       應用程序通過針對OracleConnection對象調用 BeginTransaction 來創建OracleTransaction對象。對OracleTransaction對象執行與該事務關聯的所有后續操作(例如提交或中止該事務)。
示例
     OracleTransaction的成員主要有:
   屬性:
          Connection,指定與該事務關聯的OracleConnection對象;
          IsolationLevel,指定該事務的IsolationLevel;枚舉類型,用於對事物的鎖定,取值有Chaos、ReadCommited、 ReadUncommited、RepeatableRead、Serializable、Unspecified。
  方法:
        Commit,提交SQL數據庫事務;
        Rollback , 從掛起狀態回滾事務;

     下面的示例創建一個 OracleConnection 和一個 OracleTransaction。它還演示了如何使用 BeginTransaction、Commit 和 Rollback 方法。
[C#]
public void RunOracleTransaction(string myConnString)
{
   OracleConnection myConnection = new OracleConnection(myConnString);
   myConnection.Open();
   OracleCommand myCommand = myConnection.CreateCommand();
   OracleTransaction myTrans;
   // Start a local transaction
   myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
   // Assign transaction object for a pending local transaction
   myCommand.Transaction = myTrans;

   try
   {
     myCommand.CommandText = "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
     myCommand.ExecuteNonQuery();
     myCommand.CommandText = "INSERT INTO Dept (DeptNo, Dname, Loc) values (60, 'ENGINEERING', 'KANSAS CITY')";
     myCommand.ExecuteNonQuery();
     myTrans.Commit();
     Console.WriteLine("Both records are written to database.");
   }
   catch(Exception e)
   {
     myTrans.Rollback();
     Console.WriteLine(e.ToString());
     Console.WriteLine("Neither record was written to database.");
   }
   finally
   {
     myConnection.Close();
   }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM