여러개의 입력문 또는 업데이트문을 사용할 경우 에러등이 발생하였을 경우엔 롤백을 시켜야 하는 경우가 있다.
이럴경우 트랜잭션(transaction) 을 이용하여 처리한다.
오라클을 사용한다고 가정하고..
OracleConnection con ;
OracleCommand comm ;
OracleTransaction STrans=null; //오라클 트랜젝션
con = new OracleConnection();
con.ConnectionString = " Data Source=DAUL;USER ID=scott; Password=tiger; ..." ;
con.Open();
STrans =con.BeginTransaction();
comm = new OracleCommand("",con);
try{
comm.Transaction = STrans; //커맨드에 트랜젝션 명시
comm.CommandText = "INSERT INTO.......;
comm.ExecuteNonQuery() ;
comm.CommandText = "INSERT INTO......;
comm.ExecuteNonQuery() ;
..... 계속
comm.Transaction.Commit(); //커밋
}catch(Exception ex){
comm.Transaction.Rollback(); //롤백
}
finally{
comm.Dispose();
con.Close();
}
'C# & ASP.NET' 카테고리의 다른 글
OLEDB 로 DBASE (.DBF) 연결하여 테이블 생성 및 SELCET 쿼리 날려 DataSet,DataTable로 가져오기 (0) | 2009.06.30 |
---|---|
C# 다른폼 컨트롤 제어하기 (예: 다른 폼 또는 부모 폼에 있는 텍스트 박스에 글쓰기) (3) | 2009.06.02 |
ASP.NET 응용프로그램을 디버깅할 수 있는 권한이 없습니다. 이 프로젝트의 URL은 인터넷영역에 속합니다. (1) | 2009.03.26 |
Server Application Unavailable 에러 발생 (0) | 2009.03.09 |
간단한 XML로 페이지간 데이터를 공유하는 방법(ASP.NET, C# 에서 간단한 xml 사용방법) (0) | 2008.12.03 |