Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-11-2005
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
Paginacion con DBGRID

Hola amigos del foro. Estoy comenzando a trabajar con Paradox, resulta que existe ujn tabla qu tiene como 40.000 registros y resulta muy pesada la carga de ya que lo jalo de la red, bueno eh pensado en una solucion , porque cargar todo ese cantidad de registros, mejor realizar una paginacion por ejemplo cargar solo las 2000 primeros registros en un DBGRID, y que muestre las diferentes paginas algo parecido a lo que muestra GOOGLE (1-2-3) paginas.
Me gustaria que me ayuden a tener ideas de como realizar esto, como cuando doy en la segunda pagina que carge los 2000 siguientes registros.

Gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 12-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Coco_jac
mejor realizar una paginacion por ejemplo cargar solo las 2000 primeros registros en un DBGRID, y que muestre las diferentes paginas
Y ¿para qué? ¿qué usuario de tu sistema va a recorrer cuarentamil registros? Te lo pregunto no por molestar, sino que es una tendencia que hemos tenido muchos de mostrar todos los registros (paginados o no), cuando la realidad es que un usuario, aunque piense que sí, no lo va a hacer.

Lo indicado es presentar a tu usuario un buen módulo de búsquedas donde establezca criterios que filtren los resultados adecuadamente. Con esos parámetros construyes una consulta SQL que pedirá entonces sólo una cantidad limitada de registros.

// Saludos
Responder Con Cita
  #3  
Antiguo 12-11-2005
Avatar de Coco_jac
Coco_jac Coco_jac is offline
Miembro
 
Registrado: mar 2005
Ubicación: Lima Peru
Posts: 338
Poder: 20
Coco_jac Va por buen camino
Gracias Roman, estoy de acuerdo en lo que dices, creo q es lo ideal para un usuario, pero como puedo solucionar lo lento que resulta la carga de todos los registros, en el DBGRID, ya que lo jalo de la red, y resulta muy pesado, tomando mucho tiempo para tal.

Gracias anticipadas.
Responder Con Cita
  #4  
Antiguo 12-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por Coco_jac
Gracias Roman, estoy de acuerdo en lo que dices, creo q es lo ideal para un usuario, pero como puedo solucionar lo lento que resulta la carga de todos los registros, en el DBGRID, ya que lo jalo de la red, y resulta muy pesado, tomando mucho tiempo para tal.
Cita:
Empezado por roman
Lo indicado es presentar a tu usuario un buen módulo de búsquedas donde establezca criterios que filtren los resultados adecuadamente. Con esos parámetros construyes una consulta SQL que pedirá entonces sólo una cantidad limitada de registros.
Creo qeu está dicho.
Puedes utilizar la propiedad Filter y Filtered del dataset
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #5  
Antiguo 12-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por vtdeleon
Saludos
Creo qeu está dicho.
Puedes utilizar la propiedad Filter y Filtered del dataset
¡Oh no!

Esto sólo filtrará los registros del lado del cliente pero de todas formas se habrá traido todos. Los parámetros del módulo de búsquedas servirán para hacer un

Código SQL [-]
select campos from tabla
where
  condiciones

Entonces el motor será el que filtre los resultados mandando al cliente sólo los encontrados. El chiste es que sean pocos, digamos no más de 500. Antes de esa consulta quizá podría hacer un

Código SQL [-]
select count() from tabla
where
  condiciones

para saber cuántos resultados coinciden con la búsqueda. Si el resultado es muy alto se avisa al usuario para que refine sus criterios.

Si aún con 500 registros hay lentitud para cargar entonces habrá que revisar por otro lado pues no es normal que tarde tanto.

// Saludos
Responder Con Cita
  #6  
Antiguo 12-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Segun lo que he leido en este foro(en un hilo que no recuerdo), a pesar de usar sentencias SQL para traer x cantidad de campos o una serie de registros, el rendimiento seria el mismo al ser tablas planas (Me basaba en ello). Esto no lo he comprobado, porque no he manejado tantos registros en paradox.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 12-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
mmm.. tienes razón. Habría que hacer pruebas, quizá con Paradox de lo mismo, en cuyo caso daría lo mismo paginación o no.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:06:19.


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
Copyright 1996-2007 Club Delphi