Dicas - Evitando o erro de Key Violation

Veja nesta dica como evitar a mensagem de erro Key Violation (erro de Chave Primária).

A dica a seguir apresenta o código para evitar que o programa pare e envie uma mensagem padrão de erro por Key Violation (Chave Primária).

Para isto, o código deve ser inserido no evento OnPostError do componente de banco de dados (Table ou Query).

Toda vez que ocorrer um erro de gravação no banco de dados este evento será executado, sendo que na variável de parâmetro "E" deste procedimento é armazenado a mensagem que será apresentada na tela.

No caso de Key Violation a mensagem é exatamente esta: "Key violation.".

Para realizar um tratamento deste erro, testa-se se a mensagem ocorrida é "Key violation". Se for verdadeiro o processo de gravação é abortado Action := daAbort, como mostra o código a seguir:

Procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError;var Action: TDataAction); Var ErroMens :String; begin ErroMens := E.Message; if ErroMens = Key violation. then begin ShowMessage(Chave Primária Inválida !); action := daAbort; end; end;
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados