ADO.Net事務處理

SQL Server中的事務能夠將多個數據庫增刪改查操做合併爲單個工做單元,在操做過程當中任何部分出錯均可以滾回已經執行的全部更改.ADO.Net中也提供了事務處理功能,經過ADO.net事務,能夠將多個任務綁定在一塊兒,若是全部的任務成功,就提交事務,若是有一個任務失敗,就講滾回事務.ADO.Net事務經過該Transaction類實現,每一個.Net Framework 數據提供程序都有本身的Transaction 類執行事務.例如,事務在SQL Server數據庫中執行,則須要引入System.Data.Sqlclient命名空間,對應的事務對象爲SQLTransaction.

 

執行ADO.Net事務包含四個步驟,接下來以SQLTransaction對象爲例介紹:

 

1:調用SqlConnection對象的BeginTransaction()方法,建立一個SqlTransaction對象標記事務開始

2:將建立的SqlTransaction對象分配給要執行的SqlCommand的Transaction屬性
3:調用想對應的方法執行SQLCommand命令
4:調用SqlTransaction的Commit()方法完成事務,或者調用Rollback()方法終止事務

(注意事項:在調用BeginTransaction()方法開始事務以前,要打開數據庫鏈接,不然將出現異常)
SqlTransaction trans = null;
SqlConnection con = new Sqlconnection("數據庫鏈接語句");
try
{
  con.Open();
  trans = con.BeginTransaction();
  SqlCommand com = new SqlCommand();
  //一下4步是要執行SqlParameter,若是不執行能夠直接跳過使用com.CommandText="SQL語句";
  com.CommandText = @"數據庫語句 條件=@變量";
  SqlParameter para = new SqlParameter("變量","");
  com.Parameters.Add(para);
  com.CommandText=com.CommandText;
 
  com.Connection=con;
  com.Transaction=trans;
  com.ExecuteNonQuery();//執行方式本身選擇
  trans.Commit();//執行提交事務
 
}catch
{
  trans.Rollback();//若是前面有異常則事務回滾
}
finally
{
  con.Close();
}
相關文章
相關標籤/搜索