Separar SqlDataSet do ClientDataSet

12/01/2006

Oi gente...
Preciso de mais uma ajuda de vocês :)

Seguinte...

* O que desejo é separar os DATA MODULES.
* colocar 1 module com SqlConnection.
* colocar N modules com SqlDataSet e DataSetProvider.
* Colocar N modules com ClientDataSet e DataSource.
* Acho que assim fica mais próximo da programação N camadas.

* Meu aplicativo atual é CLIENT/SERVER
* Mas tô vendo um jeito dos Modules com os ClientDataSet
* enxergarem os modules com os SqlDataSet
* Já que simplesmente separando eles,
* O ClientDataSet não enxerga o Module do SqlDataSet
* Mesmo fazendo USES do module do SqlDataSet.

* Certa feita um colega me passou um exemplo (sniff)
* Mas estava em maquina de terceiros e infelizmente perdi.
* Ele havia sugerido o uso de -> LocalConnection + ConnectionBroker.

* Não sei como isto se comportaria em minha aplicação (em rede)
* Cliente/Servidor.

* Se vocês tiverem algum esquema do uso destes componentes
* ficarei grato se puderem me ajudar.
* Pretendo continuar minha aplicação como CLIENT/SERVER
* Mas quero deixar o mais próximo possivel
* de uma aplicação MULTI CAMADAS.

Pretendo passar tudo pelo ClientDataSet ao invés de manipular/inserir
os comando no SqlDataSet.
Mas não sei se isto é o mais correto :(

Tipo:

1 - No DataSetProvider colocar -> poAllowCommandText = true
2 - Fechar o ClientDataSet.
3 - Montar o comanto SQL (CommandText) o qual teria os parametro ´X´ e ´Y´.
4 - Especificar o Params -> DataType para ´X´ e ´Y´ (tipo: ftString, ftInteger, etc).
5 - Especificar o Params -> ParamType (tipo: ptInput, ptOutPut, etc)
6 - Especificar outros Params -> (Value... Type);
7 - Especificar o Params -> ParamByName ´X´ e ´Y´ com os seus respectivos -> Values
8 - Depois executar o ClientDataSet.Open

É necessário mesmo toda esta sequencia acima na montagem dinâmica do SQL no ClientDataSet?

ou

Qual dos passos acima eu não precisaria informar ?

* tipo: Sera que as informações DataType, ParamType, etc. podem ser dispensadas?

Desculpa o bombardeio :)

*** Ps.: Já repliquei esta mensagem de modo similar em outros forums
*** Se algum colega estiver relendo...
*** Desculpe a redundância :)

Obrigado.
Luciano-User-BA


Userba