Select em um ClientDataSet

26/01/2010

Olá,             uso o componente TSQLDataSet, DataSetProvider, ClientDataSet, Faço um Select em uma tabela de 1.150,000 registros, qdo uso o retorno pelo ClientDataset o sistema me retorna 1.108,000, qdo uso o somente o SQLDataSet o sistema me retorna a Quantidade correta, O que poderia ser?     abraços.  
Edival Lira

Edival Lira

Curtidas 0

Respostas

Rodrigo Mourão

Rodrigo Mourão

26/01/2010

Olá Amigo, Bem a diferença entre um componente DataSet (SqlDataSet, SqlTable, SqlQuery, etc) para o ClientDataSet e que o CDS faz cache dos dados, ou seja, tem que mantê-los em memória. Não é comum nós colocarmos em memória uma quantidade grande de dados até porque o usuario so pode interagir com um registro por vez. Se a intenção e fazer um parser para poder contar, atualizar ou algo do tipo então usamos os DataSet pois são unidirecionais, são extremamente mais rápidos. Se precisar exibir os dados num grid faça por demanda utilizando a propriedade Packet Record do CDS. O motivo real disso esta acontecendo eu não saberia informa, apenas analisando a aplicação porém aposto na grande quantidade de registro que esta sendo colocada em memória. Espero ter ajudado. Att,
GOSTEI 0
POSTAR