Q&A

  • 오라클 에러 코드를 받는 방법....
안녕하세요!!

델파이 왕초보입니다..



디비를 오라클로 연결해서 사용하고 있는데요...

에러발생시(디비관련) 오라클 에러코드를 받아서 활용하고 싶습니다.

어떻게 하면 받을 수 있는지 방법을 알려주시면 감사하겠습니다.



좋은 하루 되세요!!



2  COMMENTS
  • Profile
    이기태 2001.03.09 03:44


    저희 샘플을 하나 보여드릴께요 참조해서 사용해보세요.



    with q_MyQuery do

    begin

    Close ;

    SQL.Clear;

    SQL.Add('UPDATE ...');



    try

    W_main.db_MyDb.StartTransaction ; //transaction을 위해 Database컴퍼넌트 초기화

    ExecSQL ; //query 컴퍼넌트 실행

    W_main.db_MyDb.Commit ; //Commit

    gfn_msg(SAVE_OK, '') ; //업데이트 OK 메세지 출력

    except //에러시 ExecSQL 문장 다음에 여기로 번쩍.

    on E : EDBEngineError do //Delphi 의 에러 객체를 이용하겠다고 지정

    begin

    ls_ErrStr := gfn_DBError(E) ; //에러메시지 캐치(물론 오라클 에러죠)

    W_main.db_MyDb.Rollback ; //Rollback

    gfn_msg(SAVE_ERROR, ls_ErrStr) ;//에러 메시지 출력, 에러코드+에러텍스트

    end ;

    end ;

    end ;



    //gfn_DBError 내용

    function gfn_DBError(p_E: EDBEngineError):String;

    var

    li_Err: Integer;

    ls_Errnum, ls_Errtext : String;

    begin

    ls_errnum := '에러 번호: ' + IntToStr(p_e.ErrorCount) + #13;

    for li_Err := 0 to p_e.ErrorCount - 1 do

    begin

    ls_errtext := ls_errtext + '에러메시지 : '+ p_E.errors[li_err].Message+#13;

    end;

    Result := ls_errnum + ls_Errtext

    end

  • Profile
    옌날에.. 2001.03.09 03:16
    초보임다.. wrote:

    > 안녕하세요!!

    > 델파이 왕초보입니다..

    >

    > 디비를 오라클로 연결해서 사용하고 있는데요...

    > 에러발생시(디비관련) 오라클 에러코드를 받아서 활용하고 싶습니다.

    > 어떻게 하면 받을 수 있는지 방법을 알려주시면 감사하겠습니다.

    >

    > 좋은 하루 되세요!!

    > try 문을 쓰시고

    에러메세지를 메세지박스의 스트링으로 쓰시면 되는데

    예전에 했던거라 ..

    답변이 되었는지...