Fórum Mestre/Detalhe usando DBExpress e SOAP #377437

12/05/2010

0

Bom Dia!

Pessoal estou com o seguinte problema:

 Eu tenho uma aplicação n/camadas usando SOAP e componentes DBExpress.

No DataModule servidor eu tenho um SQLDataSet com os seguinte atributos:

Name = SQLConsultas
CommandText = '' (eu não coloco o SQL aqui pois virá dinamicamente através do ClientDataSet)

E um DataSetProvider com os seguintes atributos:
Name = DSPConsultas
poAllowCommandText = True;   ( isso para eu poder enviar o meu SQL dinamicamente);



Preciso exibir uma tabela Mestre/Detalhe na camada cliente, porém não sei com fazer isto.

Na camada cliente eu tenho dois ClientDataSet
Ex.:

   CDSTabelaMestre
      -> DataSetProvider = DSPConsultas
      -> RemoteServer = SoapConn_DM
 
   CDSTabelaDetail
      -> DataSetProvider = DSPConsultas
      -> RemoteServer = SoapConn_DM


Eu preciso que ao eu selecionar um registro da tabela Mestre sejam exibidos os dados da tabela detail, porém não posso usar o Nested pois na camada cliente eu não tenho SQLDataSet's, somente ClientDataSet's que são linkados aos DataSetProviders através de uma conexão SOAP.
Eu tentei utilizar o evento AfterScroll da Tabela Mestre para abrir a tabela Detail porém fica muito lento.

Alguém poderia me ajudar!
Codigostr

Codigostr

Responder

Posts

12/05/2010

Ader Santos

Amigo, adicione mais um SQLDataSet, o qual vai receber a sintaxe 'SELECT * FROM TabDetalhe WHERE IDForeignKeyTabDetail =:IDPrimaryKeyTabMaster'.
Certifique-se que a propriedade ProviderFlags do campo ID de sua tabela Master:
- pfInkey = true
Adicione um DataSource e sete as propriedades:
- Name = DTSConsultas
- DataSet = DSPContultas
Em seu SQLConsultas, sete as propriedades:
- DataSource = DTSConsultas
Em seu DSPContultas sete as propriedades:
- DataSet =
Certifique-se que a propriedade UpDateMode do DataSetProvider esteja setada como [whereKeyOnly], pois esta é usada como parâmetro da sintaxe SQL.
Basta apenas um ClientDataSet. Dê uma olhada neste video, ensina tudo.
https://www.devmedia.com.br/post-4405-Master-Detail-com-dbExpress.html
Responder

Gostei + 0

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

Aceitar