2014. 2. 8. 07:30
using 문을 사용해서 연결객체를 인자로 넘기고 트랜잭션을 처리 할것이다.
아래는 그 예제에 대한 간단한 함수의 내용이다. 트랜잭션 클래스는 SqlTransaction 이며
SqlConnection 객체의 BeginTransaction 함수를 써서 시작한다. 그리고 리턴받은
SqlTrannsaction 객체로 Commit 함수를 호출해 실행한후 SqlConnection을 닫으면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 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 } } } |
'.NET > C#' 카테고리의 다른 글
ASP.NET 2.0 DataTable => JSON 변환 (0) | 2014.03.11 |
---|---|
DB 프로시저 실행 (0) | 2014.02.11 |
XML 유효성 및 자식노드 개수 체크 (0) | 2014.01.17 |
[C#] Anonymous Types in C# (2) | 2014.01.06 |
[C#] 델리게이트 일부내용 (0) | 2014.01.06 |