2009/10/12 18:01


● 방법1.  System.Transactions.TransactionScope 이용

[code]
// transaction.aspx.cs
try
{
  using ( System.Transactions.TransactionScope trans
                     = new System.Transactions.TransactionScope())
  {
     using (SqlConnection myConnection = new SqlConnection())
     {
        SqlCommand myCommand;
        myConnection.ConnectionString = DB_CONNECTION_STRING;
        myConnection.Open();

        myCommand= new SqlCommand(" SQL 쿼리 1 ", myConnection);
        if (myCommand.ExecuteNonQuery() == 0)  
        {  
            throw new ApplicationException("쿼리 1 수행 실패했습니다.");
        }

        myCommand= new SqlCommand(" SQL 쿼리 2 " , myConnection);
        if (myCommand.ExecuteNonQuery() == 0)
        {
            throw new ApplicationException("쿼리 2 수행 실패했습니다.");
        }

        myConnection.Close();
        trans.Complete();
     }
   }
}
catch
{
      // 트랜잭션 실패 경우 수행할 내용
}
[/code]

그나저나
자동 트랜잭션과 수동 트랜잭션에 대해서 조금 더 공부해야 겠다.

참고 링크
1)
http://blog.naver.com/yheesung?Redirect=Log&logNo=20013782396
2) http://blog.naver.com/kalium37?Redirect=Log&logNo=20020885121
3) http://weblab.tistory.com/68 (요건 asp)

Posted by 보댕