Relacionamento de Arquivos como eu faco isto?
O problema e um seguinte.
Tenho duas tabelas [ Clientes e EndCli ] eu preciso realizar um relacionamento entre as duas, gostaria que este relacionamento me proporcionasse-se uma operação onde se eu excluir um cliente, todos os endereços deste cliente sera também excluídos ou quando eu movimentar a tabela cliente com o método First ou Last o relacionamento me traga apenas os dados da tabela EndCli que corresponda com o código do Cliente que o método First ou Last parou.
Trabalho com Delphi 6 c/ FireBird
Na tabela cliente tem o campo iCodigo e na tabela EndCli tenho o campo iCodCli que são chaves primarias. gostaria que o relacionamento fosse feito apartir destas chaves.
Tenho duas tabelas [ Clientes e EndCli ] eu preciso realizar um relacionamento entre as duas, gostaria que este relacionamento me proporcionasse-se uma operação onde se eu excluir um cliente, todos os endereços deste cliente sera também excluídos ou quando eu movimentar a tabela cliente com o método First ou Last o relacionamento me traga apenas os dados da tabela EndCli que corresponda com o código do Cliente que o método First ou Last parou.
Trabalho com Delphi 6 c/ FireBird
Na tabela cliente tem o campo iCodigo e na tabela EndCli tenho o campo iCodCli que são chaves primarias. gostaria que o relacionamento fosse feito apartir destas chaves.
Rodrigo Ferreira
Curtidas 0
Respostas
Karepa
27/05/2003
Para o relacionamento :
QRCLIENTES = QUERY DE CLIENTES
DSCLIENTES = DATA SOURCE DE CLIENTES
QRENDCLI = QUERY DE CLIENTES
DSENDCLI = DATASOURCE DE CLIENTES
No sql da QRENDCLI, deve informar o seguinte
SELECT * FROM ENDCLI WHERE IENDCLI = :ICODCLI
Deve ligar o dataset da QRENDCLI ao DSCLIENTE.
pronto, quando você movimentar a tabela de clientes, automaticamente irá movimentar a tabela de endereços.
quanto a exclusão, no evendo onDelete da QRCLIENTES,
voce deve executar uma query que exclua todos os registros da tabela ENDCLI quando o ICODCLI for igual ao codigo do cliente.
ou ainda,
incluir uma regra no interbase, criando uma CHAVE PRIMARIA (PK) no campo icodigo da tabela cliente e um chave extrangeira, (FK) na tabela de ENDERECOS campo ICODCLI.
tens que observar, pois existe uma opção onDelete nesta montagem da chave estrangeria, deve estar cascate.
QRCLIENTES = QUERY DE CLIENTES
DSCLIENTES = DATA SOURCE DE CLIENTES
QRENDCLI = QUERY DE CLIENTES
DSENDCLI = DATASOURCE DE CLIENTES
No sql da QRENDCLI, deve informar o seguinte
SELECT * FROM ENDCLI WHERE IENDCLI = :ICODCLI
Deve ligar o dataset da QRENDCLI ao DSCLIENTE.
pronto, quando você movimentar a tabela de clientes, automaticamente irá movimentar a tabela de endereços.
quanto a exclusão, no evendo onDelete da QRCLIENTES,
voce deve executar uma query que exclua todos os registros da tabela ENDCLI quando o ICODCLI for igual ao codigo do cliente.
ou ainda,
incluir uma regra no interbase, criando uma CHAVE PRIMARIA (PK) no campo icodigo da tabela cliente e um chave extrangeira, (FK) na tabela de ENDERECOS campo ICODCLI.
tens que observar, pois existe uma opção onDelete nesta montagem da chave estrangeria, deve estar cascate.
GOSTEI 0
Rodrigo Ferreira
27/05/2003
Ai galera obrigado pela respota
GOSTEI 0