ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Integridade Referencial

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
newrogerio
Experiente
Experiente


Registrado: Quarta-Feira, 6 de Setembro de 2006
Mensagens: 422

MensagemEnviada: Ter Dez 19, 2006 3:21 pm    Assunto: Integridade Referencial Responder com Citação

ai gente blz........gostaria de saber como se faz para mostrar uma mensagem dizendo que o cliente selecionado naum pode ser excluido pois ele possui serviços vinculados ao seu nome......e que tenhu uma tabela de cliente e uma de servico......................e vai ki o usuario tente deletar um cliente que ta sendo usado na tabela serviço.........................pra naum fica dando a akela mensagem de erro...................e sim uma mensagem de informação
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Ter Dez 19, 2006 4:23 pm    Assunto: Responder com Citação

Bom eu uso Firebird 2.0 e acho que a melhor forma e deletar em cascata.

Olha como eu uso
Citação:
ALTER TABLE TAB_FILHO ADD CONSTRAINT FK_SAIDAS_1 FOREIGN KEY (CHAVE) REFERENCES TAB_PAI (CHAVE) ON DELETE CASCADE ON UPDATE CASCADE;


Bom nao sei qual banco vc esta usando. Mai em firebird faço assim
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
newrogerio
Experiente
Experiente


Registrado: Quarta-Feira, 6 de Setembro de 2006
Mensagens: 422

MensagemEnviada: Ter Dez 19, 2006 4:37 pm    Assunto: Responder com Citação

to usando interbase
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
weberdamasio
Experiente
Experiente


Registrado: Sábado, 19 de Julho de 2003
Mensagens: 420
Localização: Maringá - PR

MensagemEnviada: Ter Dez 19, 2006 5:08 pm    Assunto: Responder com Citação

Você deve criar uma trigger de delete para a tabela cliente.
Pesquisa sobre trigger e Internet que você vai achar bastante material.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gustavocco
Administrador
Administrador


Registrado: Sexta-Feira, 6 de Fevereiro de 2004
Mensagens: 4253
Localização: Chapecó - SC

MensagemEnviada: Ter Dez 19, 2006 6:17 pm    Assunto: Responder com Citação

Outra forma é você tratar a excessão gerada. Esta decorrida da violação de uma FK.

Utiliza o try except no metodo delete da tabela clientes, isso em tempo de programação em Delphi, existem outras formas de se fazer via banco de dados tb...

flw.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
newrogerio
Experiente
Experiente


Registrado: Quarta-Feira, 6 de Setembro de 2006
Mensagens: 422

MensagemEnviada: Ter Dez 19, 2006 7:37 pm    Assunto: Responder com Citação

ai gustavocco blz....................try except resolveu..........valeu


sera ki vc poderia me dar uma mão num controle de estoque?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gustavocco
Administrador
Administrador


Registrado: Sexta-Feira, 6 de Fevereiro de 2004
Mensagens: 4253
Localização: Chapecó - SC

MensagemEnviada: Qua Dez 20, 2006 10:00 am    Assunto: Responder com Citação

claro vai postando ai.. ou passa teu msn por mensagem privada que eu adiciono aki. Não tenho o dia todo para msn, mas para umas dicas tranquilo.

Abraço.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB