Array
(
)

dataset ou clientdataset?

Tomew
   - 07 abr 2006

Pessoal!
Estou testando vários componentes para acesso ao Firebird e Interbase com Delphi 7, entre eles FIBPlus, DBExpress, IBX, IBO...
Surgiu a seguinte dúvida. Quando utilizar o ClientDataset e quando apenas o Dataset. Qual o mais indicado e como configurá-lo para aplicações cliente/servidor?

Obrigado!

tomew


Eniorm
   - 07 abr 2006

Vc pode optar por usar o MDO que é semelhante ao IBX com a grande vantagem de ser 100¬ compatível com as atuais e futuras versões do Firebird.

Usando o MDO, eu sempre uso o DataSet (MDODataSet)

a vantagem de usar ClientDataSet é para grandes aplicações multicamadas.

Atualmente estou usando o DBExpress seguindo a velha regrinha:

SQLConnection + SQLQuery/SQLDataSet + DataSetProvider + ClientDataSet + DataSource + Componentes DBAware.

e tenho gostado dos resultados.

mas nada te impede de usar o IBDataSet (por exemplo) misturado com DataSetProvider e ClientDataSet.


Tomew
   - 07 abr 2006

Beleza Enio! Muito orbigado pela resposta.
Porém agora me surgiu outra dúvida...
Quando devo utilizar o DataSetProvider ou simplesmente posso utilizar o conjunto ´SQLConnection + SQLQuery/SQLDataSet + DataSource + Componentes DBAware´...
Que vantagem tenho em usar um ´DataSetProvider?´

Obrigado!
tomew


Eniorm
   - 07 abr 2006

o DBExpress possui muitas vantagens, mas o SQLQuery ou SQLDataSet tem o problema de serem unidirecionais.....

qdo vc da um Open no ClientDataSet, os dados da query ficam em um buffer no qual atraves do CDS é possivel vc trabalhar de forma bidirecional.

então, qdo eu preciso fazer uma consulta, eu coloco o SQL na query ou no dataset

#Código

SELECT
COD, NOME, ENDERECO
FROM
CLIENTES
WHERE
NOME LIKE :NOME
ORDER BY
NOME


e para abrir o CDS:

#Código
SQLQuery1.ParamByName(´NOME´).AsString : edPesquisa.Text + ´¬´;
ClientDataSet1.Open;


a partir daí o trabalho de Update, Insert, Delete eu faço direto no CDS.

abraço


Tomew
   - 07 abr 2006

Muito obrigado pela dica!