FOREING KEY
Olá amigos,
Gostaria de saber como vocês fazem para colocar uma pensagem para o usuário na hora que a pessoal tenta deletar um FK do Banco de Dados, já pensei em tudo mas não consigo, não sei se o erro vem do banco ou do delphi mesmo.
Gostaria de Trocar esta mensagem a cima por está: ´Esta Infomação está sendo usado por outra tabela´.
Ficarei grato se puder me ajudar.
Obrigado,
Rodrigo.
Gostaria de saber como vocês fazem para colocar uma pensagem para o usuário na hora que a pessoal tenta deletar um FK do Banco de Dados, já pensei em tudo mas não consigo, não sei se o erro vem do banco ou do delphi mesmo.
violation of FOREING KEY constraint "FK_CADCIDADE" on table "CIDADE"
Gostaria de Trocar esta mensagem a cima por está: ´Esta Infomação está sendo usado por outra tabela´.
Ficarei grato se puder me ajudar.
Obrigado,
Rodrigo.
Rodrigorpb
Curtidas 0
Respostas
Richardsonlourenco
01/11/2006
Eu uso uma função que verifica a existência de uma chave. Caso exista eu exibo a menssagem e não deixo que o sistema tente excluir o registro. Caso contrário eu envio o comando de deleção para o DataSet
GOSTEI 0
Rodrigorpb
01/11/2006
Eu nÃ&o consigo traduzir ela no Except On EConvertError Do?
Ou apenas traduzir?
Obrigado
Ou apenas traduzir?
Obrigado
GOSTEI 0
Marco Salles
01/11/2006
Se voce estiver usando DbExpress com ClientDataSet , voce deve programar o evento OnreconcileErro do ClientDataSet...
GOSTEI 0
Rodrigorpb
01/11/2006
Estou usando o IBX (IBquery e IBUpdate).
Mas nÃ&o tenho a mÃnima idéia como traduzo esta mensagem de Integridade.
Rodrigo.
Mas nÃ&o tenho a mÃnima idéia como traduzo esta mensagem de Integridade.
Rodrigo.
GOSTEI 0
Rodrigorpb
01/11/2006
Pessoal consegui resolver o problemas mas não sei o que o OnDeleteError faz.
Eu fiz assim.
Funcionou mas minha pergunta é.
Coloquei o código no OnDeleteError da IBQuery, isto é correto?
E o que o OnDeleteError faz?
Eu fiz assim.
procedure TDM.qContasPatrimoniaisDeleteError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin if pos(´violation of FOREIGN KEY constraint´,e.Message) > 0 Then Begin showmessage(´Este registro não pode ser deletado porque esta sendo usado por outra tabela´); abort; End; end;
Funcionou mas minha pergunta é.
Coloquei o código no OnDeleteError da IBQuery, isto é correto?
E o que o OnDeleteError faz?
GOSTEI 0