SimpleDataset e Packetrecords

Delphi

12/04/2005

Colegas,

Estou usando o simpledataset em um loop para criticar um arquivo. O arquivo tem bastantes registros e a medida que ele vai lendo, vai ficando mais lento. Estou tentando usar o packetrecords, inicialmente coloquei 1000 e nada modificou, depois de um tempo continuou com a mesma lentidão. Então coloquei 100 e após chegar em 200 saiu por eof, coloquei 500 e após 1000 saiu por eof.
Gostaria de saber o que estou fazendo de errado e como devo usar o packetrecords de forma que a critica do meu arquivo seja mais rápida.

Grato pela atenção,


Rookie

Rookie

Curtidas 0

Respostas

Yallebr

Yallebr

12/04/2005

O PackegeRecord limita o número de registros que serão trazidos. Basta coloca o número dele.

Mas acho que a solução vai estar em formatar seus SQL de pesquisa, eles devem estar lentos ou ruins.

Detalhe melhor o q vc quer.


GOSTEI 0
Rookie

Rookie

12/04/2005

Yallebr,

Obrigado por me responder. Eu sei que o Packetrecords limita o número de registros que são trazidos para leitura e é exatamente disto que preciso, porém o que está acontecendo é que se coloco o Packetrecords = 500 ele está me trazendo 500 iniciais, depois mais 500 e aí sai por EOF. Fetchondemands é true por default, portanto não sei pq ele está saindo por EOF e o que devo fazer para ele ir até o final real. Fiz um teste colocando Fetchondemand = false e ele trouxe só 500, como esperado. O que está faltando para que esta rotina funcione? O sql é normal ´Select * from Tabela´ , só que esta tabela tem bastantes registros. O packet records me parece a melhor solução, mas preciso fazê-lo funcionar.


GOSTEI 0
POSTAR