Array
(
)

Nome duplicado como tratar?

Silviomorelo
   - 23 ago 2004

Criei uma tabela que não permite nomes duplicados, ao tentar incluir um nome igual para teste o banco (interbase) retorna um erro para o delphi, pergunto:

Como faço para tratar esse erro e mostrar uma mensagem mais amigável para o usuário?

Onde devo colocar o código para tratar o erro?

Agradeço a ajuda de todos.


Aroldo Zanela
   - 23 ago 2004

Colega,

Uma solução, é inserir o tratamento de erro no manipulador de evento OnPostError, conforme exemplo no fragmento abaixo:

#Código

if Pos(´violation of PRIMARY or UNIQUE KEY´, Mensagem)>0 then
begin
MessageDlg(´Código ou referência já cadastrado.´, mtError, [mbCancel],0);
end;

dm.Transaction.RollbackRetaining;
Result := daAbort;