IBTransaction의 프로퍼티중
AutoStopAction 과 DefaultAction 이 있는데요..
별 신경 쓰지 않았었는데...
Firebird 2.0 입니다. 델 7입니다.
if IBTransaction1.inTransaction then IBTransaction1.rollback;
IBTransaction1.StartTransaction;
try
....
Execsql; ==>①
....
기타 복잡한 소스..
Error 발생
Execsql ==>②
IBTransaction1.commit; //CommitRetaining();
Except
on E:Exception do begin
IBTransaction1.rollback;
showmessage('입력실패.'+#13+#13+ E.Message);
exit;
end;
end;
이러한 상황에서 에러가 발생되면..①번의 입력내용이 롤백이 안되더라고요..
그래서 테스트를 해 봤습니다.
프로퍼티 값 Rollback 간단한입력 복잡한 입력(?)
AutoStopAction saCommitRetaining No OK OK
DefaultAction TACommitRetaining
AutoStopAction saCommit No OK OK
DefaultAction TACommit
AutoStopAction saRollbackRetaining OK OK NO
DefaultAction TACommitRetaining
AutoStopAction saRollback OK OK NO
DefaultAction TACommitRetaining
AutoStopAction saCommitRetaining NO OK NO
DefaultAction TACommit
AutoStopAction saNone OK OK OK
DefaultAction TACommit
pre name=code class=text>
프로퍼티 값들이 뭔말이지 모르니...쩝... 그래서 맨 아래값으로 셋팅하고..
테스트 해 봤는데..무리없이 입력,롤백이 되는듯 합니다.
혹..한말씀 해 주실분 해주세요..
감사합니다.
|