try
      Dataset.ExecSql;
   except
      on E : EDatabaseError do
      begin
         if (Pos('PRIMARY OR UNIQUE KEY', UpperCase (E.Message)) <> 0) then
            MessageDlg('Não é possível incluir valores duplicados!',mtError,[mbOK],0);
         Database.Rollback;
     end;
   end;


Você pode tratar outros erros como por exemplo:

//Erro de índice único         
if (Pos('UNIQUE INDEX', UpperCase (E.Message)) <> 0) then

//Erro de chave estrangeira              
if (Pos('FOREIGN KEY', UpperCase (E.Message)) <> 0) then




[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a