ado.net中事務的使用

哈根達斯發表於2018-03-29

ADO.Net中也提供了事務處理功能,通過ADO.net事務,可以將多個任務繫結在一起,如果所有的任務成功,就提交事務,如果有一個任務失敗,就講滾回事務

執行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();
}

  

 

相關文章