Olá Ricardo.
 
Eu uso esse tipo de recurso em alguns sistemas meus. Eu costumo fechar o
TSQLQuery depois o TClientDataset para depois mudar os parâmetros e abrir
novamente somente o clientdataset. Comigo ta rolando blz... Caso seja
necessário, mande um exemplo pra lista pra gente poder checar.
 
[]´s
 
 
Sergio

  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] Em
nome de Ricardo César Cardoso
Enviada em: sexta-feira, 27 de abril de 2007 08:45
Para: [email protected]
Assunto: [delphi-br] Problemas com ClientDataSet e DBGrid



Bom dia amigos da lista, como vão?

Gostaria de uma ajuda de qualquer um que já passou por esta situação. Tenho
um DataModule onde entre outros componentes referentes a um determindado
módulo da minha aplicação tenho um TSQLQuery, um TDataSetProvider, um
TClientDataSet e um TDataSource ligados entre si e o TDataSource ligado a um
TDBGrid.

Dentro da aplicação existe uma rotina que faz uma busca parametrizada e traz
apenas os registros correspondentes para o TDBGrid (pelo menos faz em outros
módulos, somente neste que não faz). Para isto, montei a instrução SQL
dentro do TSQLQuery, algo que sempre faço, inclusive coloquei o parâmetro
dentro da própria SQL e configurei o parametro com seu tipo correto. Até
aqui nenhum problema.

Quando rodo a aplicação e chamo esta rotina, na primeira execução que faço,
os dados vem para o TDBGrid da maneira esperada, mas quando chamo novamente
esta rotina, os dados do TDBGrid continuam a ser referentes ao parâmetro
anterior.

Debugei a aplicação para ver se o parâmetro estava realmente sendo passado
da maneira correta (atualizada) e notei que tudo estava OK. Fiz mais um
teste para saber se o TSQLQuery estava fazendo a consulta que eu estava
pedindo. Novamente tudo estava OK, ou seja, a instrução SQL era executada e
os dados vinham para o TSQLQuery. Aí notei que o problema só poderia ser no
TClientDataSet. Tentei várias abordagens como fechar e abrir novamente o
TClientDataSet, fazer um "refresh" nele, mas nada resolveu. É como se o
TClientDataSet estivesse mantendo os dados em memória referentes a primeira
consulta executada, mesmo depois do TClientDataSet ser fechado e reaberto, e
do conjunto de dados ao qual ele deveria refletir ter mudado.

Alguém já passou por esta situação, e pode me dar alguma dica?

Sds,
Ricardo.

__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger 
http://br.messenger <http://br.messenger.yahoo.com/> .yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



 


[As partes desta mensagem que não continham texto foram removidas]

Responder a