[firebase-br] Problemas com ClientDataSet

José Franco Pereira Junior jfranco em hosppeda.com.br
Seg Jun 27 09:28:49 -03 2005


Bom dia,

Tenho um problema estranho: em um módulo do sistema que estou desenvolvendo 
faço cálculos estatísticos tipo quantos por cento do total de registro têm 
tal campo com conteúdo "X".

Para resolver isso fiz:

   dmConsulta.cdsDisco.First;
   while not dmConsulta.cdsDisco.Eof do

     begin
       if dmConsulta.cdsDisco.FieldByName('DSC_MIDIA').Value = 1 then
          wTotalCD := wTotalCD + 1;
       if dmConsulta.cdsDisco.FieldByName('DSC_MIDIA').Value = 2 then
          wTotalK7 := wTotalK7 + 1;
       if dmConsulta.cdsDisco.FieldByName('DSC_MIDIA').Value = 3 then
          wTotalLP := wTotalLP + 1;
       if dmConsulta.cdsDisco.FieldByName('DSC_ALBUM').Value = 1 then
          wTotalSP := wTotalSP + 1;
       if dmConsulta.cdsDisco.FieldByName('DSC_ALBUM').Value = 2 then
          wTotalCX := wTotalCX + 1;
       if dmConsulta.cdsDisco.FieldByName('DSC_ALBUM').Value = 3 then
          wTotalDP := wTotalDP + 1;
       dmConsulta.cdsDisco.Next;
     end;

onde dmConsulta é um data module e cdsDisco um ClientDataSet.

Fiz o esquema SQLConnection -> SQLDataSet -> DataSetProvider -> 
ClientDataSet -> DataSource.

Até aqui, tudo bem. O problema é defini no ClientDataSet a propriedade 
PacketRecords com 20 e não -1. Daí o programa conta até o  20º registro e 
pára de totalizar. Se volto a propriedade PacketRecords para -1, dá um 
erro: "DSC_CODIGO not found" onde DSC_CODIGO é um campo da tabela associada 
ao ClientDataSet.

Alguém pode me dizer o que pode estar acontecendo?

Obrigado

José Franco Pereira Junior 



-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.323 / Virus Database: 267.8.2/29 - Release Date: 27/06/2005





Mais detalhes sobre a lista de discussão lista