반응형
using 문을 사용해서 연결객체를 인자로 넘기고 트랜잭션을 처리 할것이다.
아래는 그 예제에 대한 간단한 함수의 내용이다. 트랜잭션 클래스는 SqlTransaction 이며
SqlConnection 객체의 BeginTransaction 함수를 써서 시작한다. 그리고 리턴받은
SqlTrannsaction 객체로 Commit 함수를 호출해 실행한후 SqlConnection을 닫으면 된다.
public void TotalDBExecute() { string updateSql = "UPDATE Categories SET CategoryName = 'Car' WHERE CategoryID = 10"; string deleteSql = "DELETE Categories WHERE CategoryID = 10"; string conn = @"Server=222.232.2.22;Database=test;user=testuser;password=1111;Integrated Security=SSPI;"; using (SqlConnection con = new SqlConnection(conn)) { con.Open(); // SqlTrasaction 클래스의인스턴스생성 SqlTransaction tran = con.BeginTransaction(); // 트랜잭션시작 SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.Transaction = tran; // 현재사용할트랜잭션객체지정 try { cmd.CommandText = updateSql;// 쿼리지정 cmd.ExecuteNonQuery(); // 실행 cmd.CommandText = deleteSql; cmd.ExecuteNonQuery(); tran.Commit(); // 트랜잭션commit } catch (Exception ex) { tran.Rollback(); // 에러발생시rollback } } }
반응형
댓글을 달아 주세요
플네드 2020.10.07 12:15 댓글주소 수정/삭제 댓글쓰기
감사합니다 많은 도움 됐습니다~~