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