Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   busquedade registros mientras se tipea (https://www.clubdelphi.com/foros/showthread.php?t=10313)

darioEsp 15-05-2004 20:07:16

busquedade registros mientras se tipea
 
hola soy dario necesito hacer justamente eso ( busquedade registros mientras se tipea ) estoy trabajando con MySQL y necesito hacer esa busqueda sobre mas de 30.000 registro si es posible con un ListBox que permita crear mas de una columna.
Desde ya muchas gracias

jachguate 16-05-2004 08:19:05

No te aconsejo el uso de ListBox. Podes hacerlo con un Edit y un boton, de manera que , una vez entrado el criterio de busqueda, podas ejecutar un Select con la condicion deseada.

Podria ser algo como:

Código SQL [-]
Select *
  from tabla
 where nombre like :nombre;

y en el onClick del boton:

Código Delphi [-]
  Query1.ParamByName('nombre').AsString := Edit1.Text + '%';
  Query1.Open;

hasta luego.

;)

sanxpue 17-05-2004 18:44:41

Bueno..
 
Yo no lo he probado con 30,000 registros pero tal vez sirva, hay que probarlo
En el Evento OnKeyPress de un TEdit

//supongamos que los ordenas por el campo nombre
Código:

  Tabla1.Locate('Nombre',Edit1.Text,[IoPartialKey]);
Eso te va llevando cada vez que oprimes una tecla al primero que mas se le paresca :D

delphi.com.ar 17-05-2004 18:58:06

Si te interesa, en mi página hay un componente llamado TDBIncrementalSearch que tiene una funcionalidad similar a lo que pides, como desventaja te comento que no puedo publicar el código del mismo y creo que con 30000 la mejor solución es la que te comenta jachguate.

Saludos!

roman 17-05-2004 19:25:31

Quizá aquí la pregunta inicial sería ¿por qué muestras 30,000 registros al usuario? Normalmente será mejor que le proporciones un método de búsqueda que restrinja los resultados que traes de la base de datos (algo como lo que propone jachguate o más sofisticado dependiendo de tu caso particular) y entonces sí, utilizar lo propuesto por Sanxpue o delphi.com.ar

// Saludos


La franja horaria es GMT +2. Ahora son las 03:13:27.

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