Ver Mensaje Individual
  #1  
Antiguo 20-07-2006
PatrickM PatrickM is offline
Miembro
 
Registrado: jun 2006
Posts: 21
Reputación: 0
PatrickM Va por buen camino
PacketRecords i FindKey (ClientDataSet - DBExpress)

Hola a todos,

Estoy con una aplicación que trabaja con tablas muy grandes 30 columnas por 20000 filas, algunas de ellas con campos blob.

Utilizo SQLDataSet -> TDataSetProvider -> TClientDataSet para conectarme a dichas tablas i necesito editar campos puntuales de la tabla (sin utilizar una consulta). En teoria se podria hacer directamente con el ClientDataSet pero me carga TODOS los registros cuando abro la tabla para editarla. Esto hace que reserve memoria para unas 300 MB.

A priori el tema se soluciona poniendo la propiedad PacketRecords con un valor mayor que zero para que solo se carguen algunos registros y no toda la tabla. Pero entonces me carga todos los campos cuando le hago el FindKey.

He probado de poner PacketRecords = 0 y entonces no me encuentra el registro con el FindKey.

Estoy desesperado ya no se que probar mas. El BDE no me daba estos problemas de memoria. Aunque se me ha pasado por la cabeza no voy a volver al BDE, pero me extraña que no haya una solucion a mi problema trabajando con los componentes de DBExpress.

A ver si alguien me puede hecha una mano,

un saludo.

Última edición por PatrickM fecha: 25-07-2006 a las 12:01:12.
Responder Con Cita