Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Forma correcta de hacer busqueda incremental

Hola amigos, para realizar una busqueda incremental en un edit hay que tener una grilla para filtrar resultados similares no cierto?

Siempre se dice que utilizar un combo es pesado, pero pregunto¿no es igual de pesado llenar la grilla y hacer el filtro en el edit?
no se puede hacer una busqueda incremental tipo combo que vaya apareciendo abajo solo los nombres de clientes por ejemplo?
Responder Con Cita
  #2  
Antiguo 15-07-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola giulichajari.

Las búsquedas incrementales son intrínsecamente "pesadas" sea que se implementen a través de un TComboBox u de otro componente. Ya que por cada caracter ingresado, se envía una consulta. Y si es através de un servidor, tiene el plus de un incremento sustancial en el tráfico de red.

Cita:
pero pregunto¿no es igual de pesado llenar la grilla y hacer el filtro en el edit?
No.

Se puede decir que los controles de datos tales como el TDBGrid son manifestaciones visuales de los contenidos de una tabla o consulta. Es decir que están relacionados con un TDataSet y esto último hace la diferencia, por que el TDataSet mantiene una caché interna de los datos actualmente mostrados. Ese valor lo podes obtener de la propiedad BufferCount.

Además, usar un TComboBox implica una carga prévia de los datos a visualizar para la selección. De otro modo no habría diferencia de uso entre él y un TEdit...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 15-07-2014
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Para mi depende del volumen de datos a filtrar, la tecnica a usar.
__________________
Ya tengo Firma!
Responder Con Cita
  #4  
Antiguo 16-07-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por giulichajari Ver Mensaje
...para realizar una busqueda incremental en un edit hay que tener una grilla para filtrar resultados similares no cierto?
En realidad son 2 cosas. Por un lado hay que distinguir entre la fuente de datos (que podemos ver como una tabla/query) y luego de forma independiente el componente que utilices para filtrar (edit, combo, grid,...).
Cuando hablas de "grilla" no se si te refeieres a eso.

Cita:
Empezado por giulichajari Ver Mensaje
Siempre se dice que utilizar un combo es pesado, pero pregunto¿no es igual de pesado llenar la grilla y hacer el filtro en el edit?
no se puede hacer una busqueda incremental tipo combo que vaya apareciendo abajo solo los nombres de clientes por ejemplo?
Lo pesado es realidad no es el combo, como tú bien dices, es igual de pesado hacerlo sobre un Edit o sobre un Grid. Es lo mismo porque en realidad la parte "pesada" no está en el componente, sino en la parte de los datos. Por lo tanto, el componente que uses para hacerlo es independiente.

Personalmente tampoco soy partidario de hacerlas, salvo que estemos hablando de tablas pequeñas que se puedan cargar fácilmente en memoria.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 16-07-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Gracias a todos por las respuetas.

Y ecfisa si dices:

Cita:
Se puede decir que los controles de datos tales como el TDBGrid son manifestaciones visuales de los contenidos de una tabla o consulta. Es decir que están relacionados con un TDataSet y esto último hace la diferencia, por que el TDataSet mantiene una caché interna de los datos actualmente mostrados. Ese valor lo podes obtener de la propiedad BufferCount.
Entonces hay que filtrar los datos de la grilla que ya estan mostrados, y no el query que pertenece a la grila, porque sino lo estas ejecutando de vuelta al query.
Y si la busqueda no es incremental para el nombre de cliente por ejemplo: deberia ordenar alfabeticamente y que el cliente se desplaze y encuentre el nombre.
Saludos
Responder Con Cita
  #6  
Antiguo 16-07-2014
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Hola

Cita:
Empezado por giulichajari Ver Mensaje
Entonces hay que filtrar los datos de la grilla que ya estan mostrados, y no el query que pertenece a la grila, porque sino lo estas ejecutando de vuelta al query.
Saludos
Como te dijeron los datos los posee el dataset (en este caso el query), la grilla solo es una vista virtual de los mismos (La grilla no posee ningun dato solo muestra los del query).

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Forma correcta de conectar a la base.. linuxtin Conexión con bases de datos 4 19-07-2012 20:30:20
Busqueda Incremental camiz Firebird e Interbase 3 29-03-2012 18:01:25
busqueda incremental lucas05 Varios 15 23-08-2010 20:21:04
validar usuarios de forma correcta hibero PHP 3 04-01-2010 15:47:04
busqueda incremental con ado slat Conexión con bases de datos 1 11-07-2004 18:32:52


La franja horaria es GMT +2. Ahora son las 17:02:38.


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