delphi X Interbase

Delphi

30/05/2003

preciso que o usuario entre com o codigo da empresa.
ao entrar o codigo que ele teste para evitar violação de chave.
meu codigo
no evento onposterror da tabela empresa

if e.message = ´Key violation.´ then
begin
showmessage(´Codigo ja existe!´);
end;

problema ele não executa este teste por que ??? tem haver com meu banco de dados por ser Interbase ?
qual seria a saida ?


Midas

Midas

Curtidas 0

Respostas

Akpjunior

Akpjunior

30/05/2003

oi...nao sei mas parece q vc está fazendo confusão...

colocando código no evento onposterror, ele só será executado depois que você tentar salvar a tabela...

para saber se o código já existe depois q o usuário digitar o código vc pode fazer o seguinte:

procedure TForm1.IBQuery1CD_BAIRROValidate(Sender: TField);
begin
With IBQueryConsulta do
begin
SQL.Clear;
SQL.Add(´Select Count(*) As Contador from BAIRRO where CD_BAIRRO = :P_CD_BAIRRO´);
ParamByName(´P_CD_BAIRRO´).AsInteger:=Sender.AsInteger;
Open;
If FieldByName(´Contador´).AsInteger <> 0 then
DatabaseError(´Erro: O Código Chave digitado já existe´);
end;
end;

na tabela bairro no campo CD_BAIRRO evento onValidate

espero ter ajudado.....


GOSTEI 0
Midas

Midas

30/05/2003

valeu cara vou tentar ...


GOSTEI 0
POSTAR