Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/08/2002, 19:51
henryzs
 
Fecha de Ingreso: enero-2002
Mensajes: 189
Antigüedad: 23 años, 3 meses
Puntos: 0
Re: paginacion: uso de cahesize

Hola:

Te habia respondido inmediatamento pero no salio... plop!!

Primero, hablemos un poco del recordset.
Antes de ejecutar una consulta se puede definir que tipo de cursor se va a usar.
rstSource.CursorLocation = adUseServer o
rstSource.CursorLocation = adUseClient

en el primer caso el resultado de la consulta se almacena en el cliente y en el segundo caso se almacena en el servidor, manteniendo una conexion en linea mientras manejas el recordset, por lo que si cierras el recordset pierdes la información.

Para páginar hay 2 atributos mas.
pagesize= tamaño de cada página
cachesize = tamaña de registros a traer

por defecto los dos valores deben ser iguales para no traer registros demás que no vayas a usar en ese momento.

Si usas cursor de cliente, traeras toda la info a pesar de haber definido un pagesize/cachesize de menor tamaño que la consulta original. Si usas cursor de servidor y a la vez pagesize/cachesize solo traeras el número de registros definido en pagesize/cachesize, pero no debes de cerrar el recordset si quieres seguir manejando las demás páginas. El proceso de traer las paginas del servidor al cliente es transparante.

Los valores de recordcount siempre seran el total de registros de la consulta original no importando si hayas usado pagesize/cachesize o no.

mas información lo encontraras buscando temas relacionados a "cursores" o "paginacion"

Te envio un codigo que pagina en componente y usa el bendito pagesize y veras que tengo que controlar el barrido superior del recordset a pesar de haber usado pagesize..

Espero haber podido ayudar en algo y no confudirte.

saludos.