 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
programadorvs Novato

Registrado: Terça-Feira, 7 de Julho de 2009 Mensagens: 11 Localização: São Paulo
|
Enviada: Qui Ago 27, 2009 12:10 am Assunto: erro de chave extrangeira |
|
|
bom dia Amigos...
Tenho tres tabelas. 1ª - Clientes - 2ª Pedidos - 3ªitenspedido
criei uma chave estrangeira do campo CLI_CODIGO da tabela pedidos referente a CLI_CODIGO da tabela clientes.
e criei uma chave estrangeira do campo PED_CODIGO da tabela itenspedido referente a PED_CODIGO da tabela pedido.
Agora vem a questao.. quando tento excluir um pedido que tenha itens ele da erro de chave estrangeira e consigo tratalo e mostrar uma mensagem ao usuario.
porem quando vou excluir o cliente na tabela de cliente ele deveria dar erro tambem pois o mesmo esta sendo usado no pedido certo?
nao da erro, ele mostra na tela que apagou, mais se voce faz uma pesquisa denovo ele esta la...
o que pode ser isso, porque o banco nao manda um erro para a tela.
Uso dbexpress + ClientDataset + dataSetProvider + firebird 2.1 |
|
| Voltar ao Topo |
|
 |
pestana Colaborador

Registrado: Sábado, 25 de Junho de 2005 Mensagens: 3147 Localização: Araras-SP
|
Enviada: Qui Ago 27, 2009 7:59 pm Assunto: |
|
|
acho que o sistema não está excluindo o registro, porque se você excluir o registro do cliente que possui pedidos o banco vai disparar uma exceção, a menos que você declarou como "on delete cascade" no campo CLI_CODIGO na tabela pedido, neste caso, ao excluir o cliente tambem será excluido todos os pedidos daquele cliente.
você poderia postar a estrutura das tabelas? _________________ Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|