Q&A

  • Error Code 값알기....
DB에 insert 할때

키중복으로 발생한 Error인지 아니면

다른 Error인지를 알았으면하는데...

방법좀 알려주세요....

DB는 ORACLE이고요....



ERROR CODE값을 아는 방법좀 알려주세요....

1  COMMENTS
  • Profile
    bassmania 2000.10.07 00:09
    전한민 wrote:

    > DB에 insert 할때

    > 키중복으로 발생한 Error인지 아니면

    > 다른 Error인지를 알았으면하는데...

    > 방법좀 알려주세요....

    > DB는 ORACLE이고요....

    >

    > ERROR CODE값을 아는 방법좀 알려주세요....



    안녕하세요. 배스마니아 조덕진입니다.

    델파이 초보라 도움이 될지 모르겠네요. 책과 이곳에서 찾은 내용을 정리하여

    제 나름대로 사용을 하고 있는 루틴입니다.



    public

    { Public declarations }

    procedure AppException(Sender: TObject; E: Exception);





    procedure Tform.FormCreate(Sender: TObject);

    begin

    Application.OnException := AppException;

    end;



    procedure Tform.AppException(Sender: TObject; E: Exception);

    begin

    if E is EDBEngineError then

    with E as EDBEngineError do

    begin

    case Errors[0].ErrorCode of

    DBIERR_KEYVIOL : ShowMessage('키 위반 !');

    DBIERR_REQDERR : ShowMessage('필드 값 필요 !');

    DBIERR_OPTRECLOCKFAILED : ShowMessage('다른 사용자가 자료를 변경 !');

    DBIERR_NOACTIVETRAN : ShowMessage('사용중인 트랜잭션이 없슴 !');

    end;

    end;

    if (Database1.InTransaction) then

    begin

    if pos('Update ',E.Message) > 0 then

    ShowMessage('변경 실패 !')

    else

    ShowMessage(E.Message);

    Database1.Rollback;

    end;

    end;





    원하시는 정보인지 모르겠네요.

    그럼..