Fórum Master/Detail usando DBEXPRESS #253394

05/10/2004

0

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.


Aleguerra

Aleguerra

Responder

Posts

05/10/2004

Uildenei

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.


Responder

Gostei + 0

05/10/2004

Fer_nanda

Este [url=http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=58]artigo[/url] pode lhe ajudar.

Até


Responder

Gostei + 0

06/10/2004

Aleguerra

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.


Responder

Gostei + 0

06/10/2004

Rômulo Barros

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]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar