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)
-   -   Buscar por letras (https://www.clubdelphi.com/foros/showthread.php?t=17791)

robero espinoza 21-01-2005 17:46:59

Buscar por letras
 
Hola, espero me puedan ayudar tengo un problema, estoy usando el componente Query en delphi para buscar a los quientes que empiezen con alguna determinada letra, pero no eh podido, como yo lo estoy haciendo es con el siguiente query:

SELECT *
FROM TB_Cliente
where nom_cliente LIKE :par

y asi:

SELECT *
FROM TB_Cliente
where nom_cliente LIKE 'm%'

Pero nada solo cuando escribo el nombre completo del cliente lo encuentra, pero lo que yo quiero como les comento es que me encuentre a todos los clientes que empiezen con la letra M por ejemplo, espero me puedan ayudar..

Héctor Randolph 21-01-2005 18:13:48

Hola Robero!

Prueba con la cláusula STARTING WITH a ver si te funciona

Código SQL [-]
SELECT * FROM TB_Cliente
WHERE nom_Cliente STARTING WITH 'M'

Un Saludo.

Héctor Randolph 21-01-2005 19:25:45

Hola nuevamente robero_espinoza!

Por cierto, no mencionaste que manejador de base de datos estás utilizando.

El ejemplo que te dí funciona con FireBird/Interbase.

En teoría, la cláusula LIKE debería de funcionar como lo estas escribiendo independientemente del manejador.

Cita:

Empezado por robero_espinoza
SELECT *
FROM TB_Cliente
where nom_cliente LIKE 'm%'

Por otra parte, podrías leer este hilo y tal vez sirva de algo.

http://www.clubdelphi.com/foros/showthread.php?t=16857



Un Saludo

roman 21-01-2005 19:58:53

Como ya te indica Héctor, conviene que digas qué base de datos usas. Además, dependiendo de la base y la forma en que la tengas configurada, si usas like 'm%' te buscará todos los que empiecen con 'm' y no con 'M', es decir, puede haber una distinción entre minúsculas y mayúsculas.

// Saludos

Héctor Randolph 22-01-2005 03:18:54

Prueba con LIKE '*m' en lugar de LIKE '%m'.


Asi funciona en Access.

Un Saludo

barrauda 25-01-2005 22:24:37

Acá Va algo
 
Mirá este código a ver si te puede servir, a mi me sirve en todo tipo de búsqueda

Código Delphi [-]
<div style="margin:20px; margin-top:5px">
  <div class="smallfont" style="margin-bottom:2px">Código:div>
  
                ibquery1.SQL.Clear;                 ibquery1.SQL.Add('SELECT NROALUM,NOMBRE,LECTIVO,APELLIDO,FOTO FROM ALUMNO WHERE upper('+nombrecampo+') LIKE '+#39+'%'+edit1.text+'%'+#39+'  ORDER BY APELLIDO');                 ibquery1.Active:=true;
div>

donde dice +nombrecampo+ es una variable que contiene el valor del campo a relacionas, en este caso esta variable tomará el valor APELLIDO; y donde dice +edit1.text+ acá va lo que estamos buscando.
en mi caso si quiero buscar personas con el apellido "Moreno", al colocar en el Edit la letra M automáticamente selecciona todas las personas cuyo apellido comienza con M y si seguimos escribiendo, sigue discriminando hasta encontrar a los que queremos. Espero que te sirva


La franja horaria es GMT +2. Ahora son las 19:37:40.

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