Ayuda con consulta...
Hola a todos...
Tengo Delphi 2007, Zeos y Firebird. Si realizo esta consulta:
Se demora mucho debido a la gran cantidad de registros, hay alguna manera de que pueda traer solo los 30 primeros registros y si el usuario llega a la consulta del registro 30 (por medio del DBNavigator) cargue los proximos 30 registros?? Gracias de antemano |
Cita:
En firebird solo conosco la forma limitar o traer los n primeros registros, mientras que en Mysql puedes traer los registro desde una "x" posicion hasta una "y" posiscion. En Firebird(segun he visto) En MySQL En PostGree(segun he visto) En MS SQL Server (segun he visto) En Oracle (segun he visto) En DB2(segun he visto)
Lo que veo mas conveniente hacer en tu caso es utilizar un ClientDataset que este enganchado a tu Dataset(ZQuery, ZTable) atraves de un TDataSetProvider.;) ¿Pero que ventajas obtengo con eso?:confused: Diras tú. Bueno...lo que pasa es que el clientDataset es tan potente y buen componente que tiene una infinidad de propiedades y metodos; en este caso deberias configurar la propiedad PacketRecords del ClientDataSet para limitar la cantidad de registros a traer. De esa manera solo se traerá la cantidad de registro especificado en dicha propiedad, y he aqui viene lo mas bueno del clientdadtaset; cuando el usuario, que esta navegando por los registros,sobrepasa el ultimo registro traido, el clientDataset es tan bueno que se conecta nuevamente y va y trae los otros registros siguiente(en tu caso 30 siguientes) y luego se desconecta nuevamente para no saturar la red ni el servidor. Esto es óptimo para cuando se tiene miles o millones de registros.;) Para Mas Informacion sobre el ClientDataSet(parte1,parte2,parte3,parte4, parte5). En la Parte3 se habla de la propiedad PacketRecords.;) Espero haberte podido ayudar en algo.;) Saludos... |
Gracias por tu pronta respuesta, a simple vista parece que esta es la solucion.
|
|
La franja horaria es GMT +2. Ahora son las 09:02:07. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi