clientDataSet, dataset provider e command text
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?
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
Curtidas 0
Respostas
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!!!
Espero ter ajudado!!!
GOSTEI 0
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
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
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!
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
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
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
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
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
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.
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