使用 CommittableTransaction 執行顯式事務
準備工作
- 添加 System.Transactions 引用(在解決方案的網站上右鍵);
- 引用 System.Transactions 名稱空間。
示例講解
using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection String"].ConnectionString)) { using (var ct = new CommittableTransaction()) { conn.Open(); conn.EnlistTransaction(ct);//關聯事務 using (var cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandType = CommandType.Text; try { cmd.CommandText = "insert into TranTable(Priority) values(1)"; cmd.ExecuteNonQuery(); cmd.CommandText = "insert into TranTable(Priority) values(256)"; cmd.ExecuteNonQuery(); ct.Commit(); Response.Write("Ok"); } catch (SqlException ex) { ct.Rollback(); Response.Write("Error:" + ex.Message); } } } conn.Close(); }
參考:https://msdn.microsoft.com/zh-cn/library/ms172146(v=vs.90).aspx
最後更新:2017-04-03 20:19:55