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