eu ja passei por uma situacao assim (nao sei se é exatamente a mesma solucao q 
pra sua), mas o q fiz foi sempre fechar o SqlQuery antes de passar o parametro. 
 Eu fecho e o ClientDataset, passo o parametro e depois abro o clientdataset

eu fiz isso e funfo!!



  ----- Original Message ----- 
  From: Ricardo César Cardoso 
  To: [email protected] 
  Sent: Friday, April 27, 2007 8:44 AM
  Subject: [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.yahoo.com/ 

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



   


------------------------------------------------------------------------------
  Esta mensagem foi verificada pelo E-mail Protegido Terra.
  Scan engine: McAfee VirusScan / Atualizado em 26/04/2007 / Versão: 5.1.00/5018
  Proteja o seu e-mail Terra: http://mail.terra.com.br/ 


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

Responder a