Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[9183] [질문] zeos 에서 DB접속시 에러메시지 처리 방법
라이크유 [yoonhome] 1998 읽음    2004-04-25 15:14
델파이를 시작한지 3일 지난 완전 초보 입니다 .

zeos 컴포넌트를 사용해서 DB 접속기를 만들어 보았는데요,
일단 접속은 잘 되는데, 문제는 DB접속 아이디와, 패스워드를
입력 하지 않았을때 디버깅을 하면 ZDbcMySqlUtils 유닛의
CheckMySQLError 프로시저 에서 예외처리 부분 에서 처리해주는 에러 메시지 박스가 뜨게되던데, 그 에러메시지가 실행파일에서는 안뜨더군요.

제가 필요한 것을 디비 접속시 에러가 나면 제가 만든 예외처리 부분에서 메시지 박스로 해당 에러메시를 표시 하고 싶습니다. 완전 초보라 어떻게 해야할지 잘 모르겠습니다. 고수님 들의 많은 조언 부탁 드리겠습니다.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ZConnection, ZSqlProcessor, ZDbcMySqlUtils, ExtCtrls;

type
  TForm1 = class(TForm)
    ZConnection1: TZConnection;
    pnlConn: TPanel;
    Button1: TButton;
    edtIP: TEdit;
    edtID: TEdit;
    edtPS: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    btnDisconn: TButton;
    procedure Button1Click(Sender: TObject);
    procedure btnDisconnClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ZConnection1.User := edtID.Text;
  ZConnection1.Password := edtps.Text;
  ZConnection1.Database := 'messenger';
  ZConnection1.HostName := edtip.Text;

  try
    ZConnection1.Connect;
    //ShowMessage('접속성공');
    pnlConn.Visible := false;  //사라지게 하는 속성
    btnDisconn.Visible := true;


  except
    ZConnection1.Disconnect;      //예외처리 어떻게??
    ShowMessage('접속실패');
//이 부분에서 unit ZDbcMySqlUtils 의  CheckMySQLError 프로시저의 에러메시지를 출력 하고 싶습니다.
  end;

end;

procedure TForm1.btnDisconnClick(Sender: TObject);
begin
  ZConnection1.Disconnect;
  btnDisconn.Visible := false;
  pnlConn.Visible := true;
end;

end.


----------------------------------------------------------------
아래는 ZDbcMySqlUtils 의 CheckMySQLError 프로시저 부분 입니다.
----------------------------------------------------------------

procedure CheckMySQLError(PlainDriver: IZMySQLPlainDriver;
  Handle: PZMySQLConnect);
var
  ErrorMessage: string;
  ErrorCode: Integer;
begin
  ErrorMessage := Trim(StrPas(PlainDriver.GetLastError(Handle)));
  ErrorCode := PlainDriver.GetLastErrorCode(Handle);
  if (ErrorCode <> 0) and (ErrorMessage <> '') then
  begin
    raise EZSQLException.CreateWithCode(ErrorCode,
      Format('SQL Error: %s', [ErrorMessage]));
  end;
end;


제가 완전초보라 쉬운 설명을 해주셨으면 감사하겠습니다.^^;

+ -

관련 글 리스트
9183 [질문] zeos 에서 DB접속시 에러메시지 처리 방법 라이크유 1998 2004/04/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.