2011-02-08 2 views
0

C# 코드에서 트랜잭션을 어떻게 관리 할 수 ​​있는지 궁금합니다. 고유 한 저장 프로 시저로 동일한 객체를 여러 번 삽입해야합니다. 그래서 동일한 매개 변수를 사용하여 동일한 저장 프로 시저를 여러 번 실행해야합니다.고유 저장 프로 시저로 다중 삽입시 오류를 방지하는 방법은 무엇입니까?

그러나 프로세스에 문제가 발생하면 (연결이 끊어졌습니다 ...) 삽입 작업을 일부만하고 나머지 작업을 수행하지 않으려는 경우 삽입을 모두 취소해야합니다. 그래서 SQLtransaction을 원하지만 응용 프로그램 코드 내에서 데이터베이스를 변경할 수 없기 때문에. 나는 내가 충분히 명확 해요 누군가가 나를 도와 좋은 길에 저를 밀어 수 있기를 바랍니다 희망

.. 텍사스

+0

http://www.15seconds.com/Issue/040914.htm –

답변

2

작업을 시작하기 전에 SqlConnection에서 BeginTransaction을 호출 한 다음 끝에 CommitTransaction (또는 RollbackTransaction)을 호출 할 수 있습니다.

예를 들어 MSDN reference here을 참조하십시오.

+0

Tx 응답이 많습니다. 롤백을 위해 연결을 닫고 커밋합니까? 또는 그것은 작업에 포함됩니까? – bAN

+0

@bAN - 예, 정상적으로 연결을 정리하십시오. – AdaTheDev

1

당신은 BeginTransaction 방법을 사용할 수 있습니다 (및 관련 후속 방법) 코드에서 트랜잭션을 수행 . 이 링크에는이를 수행하는 방법에 대한 예제가 있습니다.

예 :

db.BeginTransaction("myTransaction"); 
try 
{ 
    // all your code here. If anything goes awry, throw an exception 

    // all good, commit it. 
    db.CommitTransaction(); 
} 
catch(Exception e) 
{ 
    // undo everything we just did 
    db.RollbackTransaction(); 
} 
1

SqlConnection 클래스 (IDbConnection 인터페이스) 모양 hereBeginTrasaction 방법이있다.

관련 문제