Q&A

  • 등록시에 key violation..에러가나요
key가 중복되어서 나는 에러인것으로 압니다..

그런데  "해당키는 중복되었습니다"를 메세지로 남기고 싶은데..

어느부분에 해야되는지요..

구문은 이렇습니다..

  with query1 do
  begin
     close;
     sql.clear;
     sql.add('insert into 테이블명(a.b...)');
     sql.add('values(:a,:b...)');
     parambyname('a').asstring:=edit1.text;
     ...
     try
       execsql;
     except
       one:edbengineerror do
             showmessage(e.message);
     end;
   end;

위문장중 어느부분에 제가 원하는 message를 넣으면 좋을가요..
여러가지로 해보았지만  try 문 과 except 문중에는..?
1  COMMENTS
  • Profile
    장지용 2002.03.14 04:56

    참고하세요.

      with query1 do
      begin
         close;
         sql.clear;
         sql.add('insert into tb_ab(a, b)');
         sql.add('values(:a,:b)');
         parambyname('a').asstring:= 'a';
         parambyname('b').asstring:= 'b';
         try
           execsql;
         except
           on e:edbengineerror do
             // "DBIERR_KEYVIOL" 는 "BDE" 유닛에 정의되어 있습니다.
             if e.Errors[0].ErrorCode = DBIERR_KEYVIOL then
               showmessage('해당키는 중복되었습니다.');
         end;
         close;
      end;