tabela mestre-detalhe

Firebird

28/11/2003

Amigos, estou com um problema (ou dúvida?). estou tentando criar um relacionamento mestre-detalhe mas não estou conseguindo. Utilizo o componente IBDataset. Ou seria melhor o o ClientDataSet com o DataSetProvider? Qual das opções seria melhor para a criação do relacionamento mestre-detalhe? E como eu crio esse relacionamento?
:(


Aflsilva

Aflsilva

Curtidas 0

Respostas

Afarias

Afarias

28/11/2003

Vc pode estabelecer relacionamentos Mestre-Detalhe (a nível de componente) com qualquer destes componentes q vc citou. Isso não tem a ver do IB ou FB. Vc deve definir antes q componentes vai usar para poder saber como será.


T+


GOSTEI 0
Aflsilva

Aflsilva

28/11/2003

Como eu crio o relacionamento usando o IBDataset?


GOSTEI 0
Afarias

Afarias

28/11/2003

praticamente vc só tem q configurar o IBDataSet ´detalhe´...

na propriedade SELECTSQL do IBDataSet Detalhe coloque o SQL com WHERE campo_chave_estrangeira = :campo_chave_primaria_da_tabela_mestre

ex:


SELECT * FROM ITENS_NOTA
WHERE NUMERO_NOTA = :NUMERO

(o parâmetro NUMERO tem o mesmo nome do campo chave primária da tabela NOTAS (no caso:: numero))


então, vc configura a propriedade DataSource do IBDataSet Detalhe para o o componente TDataSource do IBDataSet MESTRE , ex::

DataSourceDetalhe ---DataSet---> IBDataSetDetalhe ---DataSource---> DataSourceMestre ---DataSet---> IBDataSetMestre


Pronto! Abra os dois IBDataSets e navegue no IBDataSet Mestre --- automaticamente, serão carregados os detalhes de cada registro ´mestre´



T+


GOSTEI 0
POSTAR