Você está chegando o ClientDataSet ou SqlQuery? Se eu não estou enganado, você tem que fechar apenas o ClientDataSet!
Em 27/04/07, Ricardo César Cardoso <[EMAIL PROTECTED]> escreveu: > > Primeiramente obrigado pela resposta, Rafael. > > Realmente esta foi uma das primeiras medidas que tomei. Fecho o TSQLQuery > antes de pedir novos dados; atualizo o parametro de busca e reabro o > TSQLQuery. Até aqui tudo funciona bem, o problema é que o TClientDataSet não > reflete os dados do TSQLQuery. > > Se mais alguém puder contribuir, ficamos agradecidos. > > Sds, > Ricardo > > Rafael Marques <[EMAIL PROTECTED] <rafael.matriz%40terra.com.br>> > escreveu: 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: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > 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] > > > > _ > > __________________________________________________ > 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] > > > -- Atenciosamente, Bruno Sanson Cadena Sistemas 19 3468-3368 / 19 8145-2024 Skype: brunosanson [As partes desta mensagem que não continham texto foram removidas]