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 21-01-2005
robero espinoza robero espinoza is offline
Registrado
 
Registrado: may 2003
Posts: 9
Poder: 0
robero espinoza Va por buen camino
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 ar

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..
Responder Con Cita
  #2  
Antiguo 21-01-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
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.

Última edición por Héctor Randolph fecha: 21-01-2005 a las 19:26:16.
Responder Con Cita
  #3  
Antiguo 21-01-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
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

Última edición por Héctor Randolph fecha: 21-01-2005 a las 19:35:47.
Responder Con Cita
  #4  
Antiguo 21-01-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
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
Responder Con Cita
  #5  
Antiguo 22-01-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Prueba con LIKE '*m' en lugar de LIKE '%m'.


Asi funciona en Access.

Un Saludo
Responder Con Cita
  #6  
Antiguo 25-01-2005
barrauda barrauda is offline
Miembro
 
Registrado: jun 2003
Ubicación: Balcarce - Buenos Aires
Posts: 42
Poder: 0
barrauda Va por buen camino
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>
  
class="alt2" dir="ltr" style="
    margin: 0px;
    padding: 6px;
    border: 1px inset;
    width: 90%;
    height: 66px;
    text-align: left;
    overflow: auto">                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
__________________
David Barraud
Licenciado en Sistemas
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 15:36:17.


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