tratamento de erro com chave estrangeira.
Bom dia gostaria de saber como tratar a mensagem de erro quando nao existe a chave estrangeira, ou seja em vez de aparecer aquela mensagem em Ingles, gostaria que tratar para aparecer em portugues.
tenho uma tabela de venda e tem que cadastrar o codigo do vendedor
se o codigo do vendedor nao existir pois criei uma chave estrangeira ele tera que trazer um erro mas de outra forma . alguem sabe como :?
Valew gente .
tenho uma tabela de venda e tem que cadastrar o codigo do vendedor
se o codigo do vendedor nao existir pois criei uma chave estrangeira ele tera que trazer um erro mas de outra forma . alguem sabe como :?
Valew gente .
Ciotti
Curtidas 0
Respostas
Quartieri
21/12/2006
try
ExecSQL;
except
on E: exception do
begin
if Pos(´FK´,E.message) > 0 then
Application.MessageBox(´Registro com relacionamento em outras tabelas. Não é possível excluir.´,´Atenção´,mb_Ok+mb_DefButton1+mb_iconExclamation);
end;
end;
ExecSQL;
except
on E: exception do
begin
if Pos(´FK´,E.message) > 0 then
Application.MessageBox(´Registro com relacionamento em outras tabelas. Não é possível excluir.´,´Atenção´,mb_Ok+mb_DefButton1+mb_iconExclamation);
end;
end;
GOSTEI 0
Ciotti
21/12/2006
ola amigo gostaria de saber onde eu coloco esse codigo , e no evento do botao onclick ou nao?
valew!
valew!
GOSTEI 0
Ciotti
21/12/2006
eu coloquei essa instrucao no OnPostError do clientdataset mas deu erro na linha
ExecSQL;
o que tenho que fzer para corrigir esse erro?
valeu.
ExecSQL;
o que tenho que fzer para corrigir esse erro?
valeu.
GOSTEI 0
Quartieri
21/12/2006
no caso, eu uso esse codigo numa ADOquery, num client data set não vai funcionar mas coloque tudo num bloco try except se der erro verifique se ele tem ´FK´ da seguinte forma ´if Pos(´FK´,E.message) > 0 then´
ai vc determina a ação a ser tomada no casso de erro.
ai vc determina a ação a ser tomada no casso de erro.
GOSTEI 0
Techsoft
21/12/2006
Olá, já tentou usar o ReconcileError? eu geralmente utilizo o reconcile error para exibir possíveis erros para o usuário quando estes acontecem.
Usando o reconcile error eu faço o seguinte, no OnReconcileError do ClientDataSet coloco:
Usando o reconcile error eu faço o seguinte, no OnReconcileError do ClientDataSet coloco:
if pos(´foreign key´, E.Message) > 0 then MessageDlg(´Registro com referência em outras tabelas.´ +#13+10+´Não poderá ser excluído.´, mtError, [mbOK], 0) else Action := HandleReconcileError(DataSet, UpdateKind, E);
GOSTEI 0