Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2005
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Por favor tengo un poco de prisa con la respuesta

he hecho la siguiente consulta en el evente change de un edit
query1.SQL.text:='SELECT * FROM proveedores WHERE Proveedor like ' + QuotedStr(Edit1.Text + '%');

para que me vaya buscando los proveedores conforme se vaya escribiendo pero desde la primera letra no sale nada, ¿tengo algo mal puesto?
Responder Con Cita
  #2  
Antiguo 11-07-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.079
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
acabo de hacer una prueba con ese mismo código y funciona correctamente, ¿qué resultados te dan a tí?
Responder Con Cita
  #3  
Antiguo 11-07-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.079
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
se me olvidaba, imagino que después de cada cambio en el edit de búsqueda volverás a ejecutar el query, no?
Responder Con Cita
  #4  
Antiguo 11-07-2005
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
es el mismo codigo

en el change del edit tengo esto
if edit1.text<>'' then
begin
(*Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add ('Select *');
Query1.SQL.Add ('FROM proveedores');
Query1.SQL.Add ('WHERE Proveedor Like '+QuotedStr(Edit1.Text+'%'));
Query1.Open;*)
query1.SQL.text:='SELECT * FROM proveedores WHERE Proveedor like ' + QuotedStr(Edit1.Text + '%');
end
else
begin
query1.SQL.text:='SELECT * FROM proveedores'
end;

y no me funciona, no me busca nada, el grid al que esta enganchado el query se queda vacio
Responder Con Cita
  #5  
Antiguo 11-07-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.079
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código Delphi [-]
 if edit1.text<>'' then
    begin
   Query1.Close;
   query1.SQL.text:='SELECT * FROM proveedores     WHERE  Proveedor like ' + QuotedStr(Edit1.Text + '%');
 end
  else
           query1.SQL.text:='SELECT * FROM proveedores'
    end;
 Query1.Open;
Responder Con Cita
  #6  
Antiguo 11-07-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.079
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código Delphi [-]
 Query1.Close;
  if edit1.text<>'' then
      query1.SQL.text:='SELECT * FROM proveedores WHERE Proveedor like ' + QuotedStr(Edit1.Text + '%')
  else
      query1.SQL.text:='SELECT * FROM proveedores';  
  Query1.Open;
Responder Con Cita
  #7  
Antiguo 11-07-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Además de abrir el query, es probable que no te funcione como esperas debido a que regularmente la búsqueda es sensible a mayúsculas y minúsculas. Si ese es tu caso, una forma fácil de evitarlo es convirtiendo todo a mayúsculas:

Código Delphi [-]
Query1.Close;
  if edit1.text<>'' then
      query1.SQL.text:='SELECT * FROM proveedores WHERE upper(Proveedor) like upper(' + QuotedStr(Edit1.Text + '%') + ')';
  else
      query1.SQL.text:='SELECT * FROM proveedores';  
  Query1.Open;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 11-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.934
Poder: 27
delphi.com.ar Va por buen camino
Vale aclarar que no todos los Motores/Bases de datos utilizan como comodín el %, por ejemplo en la Base de Datos Access, el comodín es *

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #9  
Antiguo 11-07-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por delphi.com.ar
Vale aclarar que no todos los Motores/Bases de datos utilizan como comodín el %, por ejemplo en la Base de Datos Access, el comodín es *
Claro, siempre olvido que hay pseudo-motores que no se apegan a lo mas mínimo del estándar
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #10  
Antiguo 13-07-2005
pache pache is offline
Miembro
 
Registrado: jun 2003
Ubicación: colombia
Posts: 64
Poder: 21
pache Va por buen camino
Otra variante, para que no uses el UPPER combinado con el LIKE, es que utilices el STARTING WITH
__________________
Fernando González Gil
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 22:16: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
Copyright 1996-2007 Club Delphi