Master/Detail usando DBEXPRESS
Olá Pessoal,
não estou conseguindo vincular dados da tabela cliente com dados da tabela endereços (relacionamento 1/N) pois quero que só apareça no grid somente os endereços do cliente em questão.
como posso usar o recurso mestre/detalhe dos objetos sqlquery e clientdataset do dbexpress.
obrigado,
alexandra.
não estou conseguindo vincular dados da tabela cliente com dados da tabela endereços (relacionamento 1/N) pois quero que só apareça no grid somente os endereços do cliente em questão.
como posso usar o recurso mestre/detalhe dos objetos sqlquery e clientdataset do dbexpress.
obrigado,
alexandra.
Aleguerra
Curtidas 0
Respostas
Uildenei
05/10/2004
voce esta usando SQLClientDataSet? SQLQuery? Provider?
se for com ClientDataset basta preencher a propriedade MasterSource com o DataSource associado ao ClientDataset da tabela de clientes e na propriedade MasterFields da tabela de endereços colocar os campos chave da tabela de cliente ou os campos que fazem a ligação entre as duas tabelas. isso nao muda em relação a aplicações com dados em paradox ou coisa parecida essa funcionalidade eh herdada da classe TDataSet.
se for com ClientDataset basta preencher a propriedade MasterSource com o DataSource associado ao ClientDataset da tabela de clientes e na propriedade MasterFields da tabela de endereços colocar os campos chave da tabela de cliente ou os campos que fazem a ligação entre as duas tabelas. isso nao muda em relação a aplicações com dados em paradox ou coisa parecida essa funcionalidade eh herdada da classe TDataSet.
GOSTEI 0
Fer_nanda
05/10/2004
Este [url=http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=58]artigo[/url] pode lhe ajudar.
Até
Até
GOSTEI 0
Aleguerra
05/10/2004
Fiz o vínculo do clientdataset com a propriedade mastersource e defini os campos chaves na propriedade masterfields só que ao tentar gravar dando post dá o erro : ´ClientDataset : Dataset not in edit or insert mode´, o que pode ser isto.
GOSTEI 0
Rômulo Barros
05/10/2004
Fiz o vínculo do clientdataset com a propriedade mastersource e defini os campos chaves na propriedade masterfields só que ao tentar gravar dando post dá o erro : ´ClientDataset : Dataset not in edit or insert mode´, o que pode ser isto.
[color=red:5e4e208b08][b:5e4e208b08]=============================================[/b:5e4e208b08][/color:5e4e208b08]
:arrow: [b:5e4e208b08][color=blue:5e4e208b08]Se você tentar abrir o registro master, excluir um registro detail, e tentar gravá-lo, receberá uma mensagem de erro informando que o DataSet não está em modo de edição ou inserção. Isso ocorre, pois o DataSet Detail não coloca o DataSet Master em modo de edição no momento da exclusão, apenas quando insere/altera. Então para resolver isto é simples, apenas insira o seguinte código no evento BeforeDelete do DataSet Detail.[/color:5e4e208b08][/b:5e4e208b08]
With(DataSetMaster)Do Begin If Not (State In dsEditModes)Then Edit(); End;
Até mais... :arrow: [color=red:5e4e208b08][b:5e4e208b08][i:5e4e208b08][u:5e4e208b08]Undeclared Identifier[/u:5e4e208b08][/i:5e4e208b08][/b:5e4e208b08][/color:5e4e208b08]
[color=red:5e4e208b08][b:5e4e208b08]=============================================[/b:5e4e208b08][/color:5e4e208b08]
GOSTEI 0