DBExpress: SimpleDataSet ou DataSet??

Delphi

14/06/2004

Sou iniciante em Delphi, e comecei um Projeto onde estou utilizando o Interbase junto com o DBExpress. Gostaria de saber se é melhor eu utilizar somente o SimpleDataSet ou o DataSet junto com o SimpleDataSet.
Por exemplo: No meu cadastro de clientes tenho um grid que mostra todos os clientes e dados dos clientes. Para mostrar esses dados estou utilizando o componente SimpleDataSet. Nesse mesmo cadastro quando vou incluir(ou alterar) um cliente, eu habilito varios edts que ficam embaixo do grid e utilizo o mesmo SimpleDataSet para fazer essa inclusão.
O que é melhor? Fazer desse jeito, utilizando somente um SimpleDataSet, ou utilizar o SimpleDataSet somente para listar os dados no Grid e utilizar outro DataSet para as inclusões e alterações

Obrigado pela atenção.


Bossoni

Bossoni

Curtidas 0

Respostas

Nextone_br

Nextone_br

14/06/2004

Meu conselho seria usar TClientDataSet com um TProvider e uma TSQLQuery.


GOSTEI 0
Bossoni

Bossoni

14/06/2004

Obrigado nextone_br, mas o que gostaria de saber é se é melhor eu ter um SimpleDataSet para navegar no Grid, e também fazer inclusões, alterações e exclusões no banco. OU se é melhor eu ter um SimpleDataSet somente para navegar no grid, e um DataSet (ou sqlquery) para fazer as inclusões, alterações e excusões.

Quero saber se o rendimento(de SimpleDataSet e DataSet) é melhor mesmo tendo o dobro de componentes, porque os DataSet´s são unidirecionais, e os SimpleDataSet não.


GOSTEI 0
Vinicius2k

Vinicius2k

14/06/2004

Bossoni,

Sem dúvida o SimpleDataSet é mais fácil de ser utilizado, mas a arquitetura mais recomendada é a que o colega nextone_br lhe aconselhou:
SQLConnection -> SQLQuery (SQLDataSet) -> DataSetProvider -> ClientDataSet -> DataSource -> DBGrid

O, digamos incomodo, de ser unidirecional será contornado por essa arquitetura, pois o DataSetProvider irá criar um buffer dos registros para que o ClientDataSet navegue nos dois sentidos...

Em resumo pode-se dizer que o SimpleDataSet é 3 em 1 : DataSet + Provider + ClientDataSet... mas ele não conta com todos os métodos e propriedades dos 3 componentes em separado... além disso uma migração futura para 3 camadas (se existir) seria bem facilitada..

Acredito que fica a seu critério a decisão de qual usar, mas eu recomendo a arquitetura acima...

Espero ter ajudado...
T+


GOSTEI 0
POSTAR