Fórum Codigo duplicado com acess e delphi #132567
04/02/2003
0
try
Table1.Post;
exception
ShowMessage(´Código já utilizado´);
Edit1.SetFocus;
Abort;
end;
SO NÃO SEI ONDE POR, POIS USO DBNAVIGATOR.....
ALGUEM PODE ME AJUDAR..
Uoquisala
Curtir tópico
+ 0Posts
04/02/2003
Anonymous
Gostei + 0
04/02/2003
Fern4ndø ßlek4ute
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).
Código Completo:
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;
falow
Gostei + 0
04/02/2003
Uoquisala
[quote:30a06b68ba=´FeRn4ndØ ßleK4uTe´]A dica abaixo 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).
Código Completo:
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;
falow[/quote:30a06b68ba]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)