1. 程式人生 > >C#執行Sql事務處理

C#執行Sql事務處理

/執行事務處理
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();
  }
 }
轉載自:http://www.cnblogs.com/wuyong/archive/2006/10/15/529514.html