Fórum Key Violation #173956

08/08/2003

0

Como evitar a mensagem de erro Key Violation usando Query?
Obrigado pela atenção!


Douglas

Douglas

Responder

Posts

08/08/2003

Andre0201

A mensagem Key Violation ocorre quando há uma violação da chave primaria, portanto via programação vc deve evitar que isto ocorra.


Responder

Gostei + 0

09/08/2003

Seek

Olá,

O melhor a fazer é o seguinte: Quando for digitado o Codigo ou os campos da Chave Principal, você faz uma consulta na tabela verificando se este registro já existe, caso já exista, mande uma mensagem para o usuário informando a existência deste registro evitando assim o Key Violation, é trabalhoso, porém funciona. Caso nâo exista, então grave o registro.

ou dentro da query faça: Insert ignore into tabela ....


Responder

Gostei + 0

09/08/2003

Clenio

Crie uma procedure assim:

procedure TForm1.Nome da sua tabela PostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);

Var
ErroMens :String;
begin
ErroMens := E.Message;
if ErroMens = ´Key violation.´ then
begin ShowMessage(´Este Registro já é Cadastrado, Tente Outro !´); Obs:você coloca a mensagem que quizer
action := daAbort;
DBEdit1.SetFocus;
end;

espero ter ajudado, boa sorte.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar