SQLDataSet.commandText a partir do ClientDataSet/Provider
16/06/2008
0
Tenho no DataModule remoto: rDM
- SQLDataset1. CommandText: ´Select * from Clientes´
- DataSetProvider1: AllowCommandText = False (propositadamente)
No DataModulo cliente: cDM
- ClientDataSet1. CommandText: ´´ (sem commandText). SQL estará sempre no SQLDataSet associado
- DataSource1
Preciso de uma rotina genérica para obter o CommandText do SQLDataSet associado ao ClientDataSet1/DataSetProvider1, algo do tipo
Function getCommandText( cds : TClientDataSet );
begin
if cds.CommandText <> ´´ Then
Result := cds.CommandText
else
...
Result := ?
Grato pela ajuda
Jbatista
Posts
17/06/2008
Comodelphi
no cliente: s := <Componente de Conexao>.AppServer.SeuMetodo(...);
Obs.: pra retornar string eu uso OleVariant.
.
.
.
só nao entendi o por q a sql no cliente?
17/06/2008
Jbatista
Na realidade estou trabalhando em 2 camadas, mas já separando os DM´s para migrar em brave para 3, ou seja, no momento estou processando tudo localmente.
O DM local é para ser compartilhado com várias interfaces.
Necessito obter a sintaxa da SQL esta ficará no SQLDataSet associado via provider (nao fica no cds). Trabalho com mais de um DB, ex. Firebird e MySQL. Entao preciso pegar a SQL e converter a fim de manter a compatibilidade com o banco em uso em determinada instância.
Imagino algo assim:
Partindo do cds, obtenho o Provider, A partir do provider obtenho o SQLDataSet associado e aí obtenho o commandText.
Grato.
22/12/2011
Lucas Belo
Abraço!
Clique aqui para fazer login e interagir na Comunidade :)