[C#] 트랜잭션 사용
1-1 SqlTransaction 을 이용한 방법
SqlConnection conn = new SqlConnection(커넥션 스트링); conn.Open(); SqlTransaction transaction = new SqlTransaction(); SqlCommand command = new SqlCommand(); command.Transaction = transaction; try{ command.CommandText = “insert into ….”; command.ExecuteNonQuery();
command.CommandText = “update xxx set …….. where … “; command.ExecuteNonQuery();
transaction.Commit(); }catch(Exception e){ transaction.Rollback(); }finally{ conn.Close(); } |
1-2 Stored Procedure 를 이용하는 방법
트랜잭션이 발생하는 쿼리 묶음을 저장 프로시저로 만들고 호출한다.
1-3 System.EnterpriseServices 를 이용하는 방법(Com+)
…. using System.EnterpriseServices; namespace …. {
[Transaction(TransactionOption.Required)] public class xxxx{
public void addCart(int id , int productCode, string productName, int quantity) { SqlConnection conn; try{ conn = new SqlConnection(“접속문자열”); SqlCommand command = new SqlCommand(); command.CommandText = “insert ….”; command.ExecuteNonQuery(); command.CommandText = “update …..”; command.ExecuteNonQuery(); ContextUtils.SetComplete(); }catch(Exception e){ ContextUtils.SetAbort(); }finally{ conn.close(); } } } } |