Fórum Como tratar erro de Primary key ?Violação da chave ?? #143805
10/03/2003
0
Primary key ???
Anonymous
Curtir tópico
+ 0Posts
10/03/2003
Moonlight
Serio, faz com que a chave se crie sozinha, com base na ultima jah criada. Se for pro usuario informar o campo chave, enrola.
A nao ser que ele seja RG ou CPF sei lá.. ou uma coisa pessoal
aí eu nao sei
Gostei + 0
10/03/2003
Anonymous
os erros ... :x
Gostei + 0
10/03/2003
Okama
Pois dependendo da base de dados que vc usa, o Delphi não trata erros desse tipo (como Access, ODBC...)
Gostei + 0
10/03/2003
Anonymous
procedure TDM.tbTabelaPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);
begin
if E.Message = ´Key violation.´ then
begin
Action := daAbort;
raise Exception.Create(´Este registro já foi cadastrado!´);
end;
end;
Espero que funcione!
Gostei + 0
10/03/2003
Anonymous
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;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)