C#執行Sql事務處理
阿新 • • 發佈:2019-02-02
轉載自:http://www.cnblogs.com/wuyong/archive/2006/10/15/529514.html/執行事務處理 public void DoTran() { //建立連線並開啟 SqlConnection myConn=GetConn(); myConn.Open(); SqlCommand myComm=new SqlCommand(); //SqlTransaction myTran=new SqlTransaction(); //注意,SqlTransaction類無公開的建構函式 SqlTransaction myTran; //建立一個事務 myTran=myConn.BeginTransaction(); try { //從此開始,基於該連線的資料操作都被認為是事務的一部分 //下面繫結連線和事務物件 myComm.Connection=myConn; myComm.Transaction=myTran; //定位到pubs資料庫 myComm.CommandText="USE pubs"; myComm.ExecuteNonQuery();//更新資料 //將所有的計算機類圖書 myComm.CommandText="UPDATE roysched SET royalty = royalty * 1.10 WHERE title_id LIKE 'Pc%'"; myComm.ExecuteNonQuery(); //提交事務 myTran.Commit(); } catch(Exception err) { throw new ApplicationException("事務操作出錯,系統資訊:"+err.Message); } finally { myConn.Close(); } } private SqlConnection GetConn() { string strSql="Data Source=localhost;Integrated Security=SSPI;user id=sa;password="; SqlConnection myConn=new SqlConnection(strSql); return myConn; } } public class Test { public static void Main() { DbTranSql tranTest=new DbTranSql(); tranTest.DoTran(); Console.WriteLine("事務處理已經成功完成。"); Console.ReadLine(); } }