clientDataSet, dataset provider e command text

Delphi

08/09/2005

aprendi hoje no forum que dá pra executar comandos sql direto no clientdataset, setando a propriedade poAllowCommandText do dataset provider para true.

queria saber qual é a vantagem de se fazer isso. Eu ganho performance? posso filtrar dessa maneira um clientdataset não ligado a provider nenhum?


Vitor Rubio

Vitor Rubio

Curtidas 0

Respostas

G1b4

G1b4

08/09/2005

A grande vantagem disto é a facilidade de migração para qualquer outro componente. Por exemplo, podemos fazer o acesso ao BD utilizando o DBX, o IBX, o ZeosLib, ADO, sem ter que mudar o código do ClientDataSet.

Espero ter ajudado!!!


GOSTEI 0
Titanius

Titanius

08/09/2005

Falou e disse.... eu estou migrando todos os meus sistemas para CDS e DSP, pois para frente fica mais fácil mudar a forma de conexão...

Para melhorar ainda mais, é melhor usar mesmo n-camadas, pois assim desvincula o servidor (acesso ao banco de dados) do cliente.... ou seja, quer mudar de acesso ao banco, ou mesmo mudar de banco, basta trocar o servidor nada mais... :D


[]s


GOSTEI 0
Vitor Rubio

Vitor Rubio

08/09/2005

Valeu pessoal!

Perguntei isso porque estou procurando dicas de performance/ tunning e todas as dicas do forum são muito repetitivas, todas elas dizem para usar dsp + clientdataset, não fazer consultas do tipo select *, consultas parametrizadas, poucos registros, poucas colunas, nada de tables nem de bde ou odbc, nada de lookups etc.

Meu sistema não tem nada dessas coisas que atrasam, e até que é meio modularizado, se precisar de mais performance nessa parte eu já sei onde melhorar, mas eu queria outras dicas diferentes, se possível.


Obrigado!


GOSTEI 0
Titanius

Titanius

08/09/2005

Bem, o mais rápido que eu ja vi foi isso mesmo, com CDS e tals, agora eu estou mesmo é penando pra fazer um sistema modular, ou seja, totalmente modular... onde tenho o Principal, que chama os modulos, mas a conexao fica soh no Principal... por acaso vc não teria isso teria? :wink:


GOSTEI 0
Vitor Rubio

Vitor Rubio

08/09/2005

eu pretendo um dia fazer desse jeito. Por enquanto, a maior parte do meu sistema (leia-se cadastros e lançamentos) está tudo num programa só .exe e os relatórios estão em dll´s [eca!] (eu juro que um dia passo pra bpl) , mas eh só isso.


GOSTEI 0
Titanius

Titanius

08/09/2005

Cara, acho que modularização é o sonho de qualquer programador em Delphi, mas até o momento, não se encontra muita coisa sobre isso... infelizmente, pois no meu caso.. eu preciso fazer tudo modularizado, mas não tem como fazer...

Vi que a melhor opção é utilizar BPL, mais ainda não consegui instanciar a conexão do meu formulário principal, para as BPLs.. e isso acaba com meu sistema.. :(

Mas um dia vou descobrir.. :D


GOSTEI 0
Vitor Rubio

Vitor Rubio

08/09/2005

tem bastante dicas nas revistas clubedelphi ensinando a fazer bpl´s e packages, mas acho que isso não deve ser segredo pra você né?

o dificil é carregar os bpl´s dinamicamente e carregar os certos:
por exemplo, um arquivo ini, entrada de registro ou banco de dados deve dizer quais módulos seu cliente comprou e quais não comprou. Se o cliente tem um módulo, o arquivo correspondente DEVE estar em algum lugar na hd dele. Se estiver, então ele carrega e coloca um botão ou menu a mais na form principal para o cliente poder acessar o novo módulo. Tudo isso é bem complicadinho de fazer.


GOSTEI 0
POSTAR