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 30-10-2019
shinopeat87 shinopeat87 is offline
Miembro
 
Registrado: oct 2018
Posts: 21
Poder: 0
shinopeat87 Va por buen camino
filtrar frases de una tabla usando TEdit

hola amigos nuevamente les comento que tengo una duda que no he podido resolver. tengo un dbgrid1 asociado a una tablaproductos de mysql, un TEditfiltro, un datasource que me enlaza al dbgrid1 con la tablaproductos y un campo en la tablaproductos llamado descripcion_producto, lo que quiero hacer es un filtro usando un FDqueryfiltro para que a medida que escriba en el Teditfiltro me valla descartando las no coincidencias, bien con el siguiente codigo hace parte del trabajo sin errores usando parametros para el filtro.

Código Delphi [-]
 if Tedtfiltro.Text <>'' then
    begin
        with ModuloDatos.FDQuery1filtro do
          begin
           SQL.Clear;
           SQL.Add ('SELECT id_producto,codigo_producto,descripcion_producto,precio_costo_producto,precio_venta_producto,stock_p  roducto');
           SQL.Add ('FROM productos WHERE productos.descripcion_producto LIKE :BUSQUEDA ORDER BY productos.id_producto ');
           params.ParamByName('BUSQUEDA').AsString :=  '%' +Tedtfiltro.Text+ '%' ;
           Open();
          end;
    end;

el problemas es el siguiente : en la tabla tengo varios articulos que son "ANTIPARRAS"

ejemplo:

ANTIPARRAS NEGRAS
ANTIPARRAS BLANCAS
ANTIPARRAS GRISES
ANTIPARRAS PARA MOTOCICLETAS

bien cuando filtro me toma sin problemas la palabra ANTIPARRAS, pero cuando presiono el espacio algunos registros se descartan como coincidencia y eso no deberia pasar ya que todos los registros después de la palabra ANTIPARRAS tienen un espacio.
¿como soluciono ese problema?

muchas gracias de ante mano
Responder Con Cita
  #2  
Antiguo 30-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es más cómodo usar containing:
Código Delphi [-]
...
SELECT id_producto,codigo_producto,descripcion_producto,precio_costo_producto,precio_venta_producto,stock_p  roducto
FROM productos
WHERE productos.descripcion_producto containing :BUSQUEDA
ORDER BY productos.id_producto;

params.ParamByName('BUSQUEDA').AsString := Tedtfiltro.Text;

Última edición por Casimiro Notevi fecha: 30-10-2019 a las 11:32:31.
Responder Con Cita
  #3  
Antiguo 30-10-2019
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 16
TOPX Va camino a la fama
Código Delphi [-]
ParamByName('BUSQUEDA').AsString := '%' + Trim(Tedtfiltro.Text) + '%';
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 30-10-2019
shinopeat87 shinopeat87 is offline
Miembro
 
Registrado: oct 2018
Posts: 21
Poder: 0
shinopeat87 Va por buen camino
gracias por responder amigos.

Casimiro Notevi como estas? te cuento que me da un error de sintaxis usando el containing

Código Delphi [-]
if Tedtfiltro.Text <>'' then
    begin
        with ModuloDatos.FDQuery1filtro do
          begin
           SQL.Clear;
           SQL.Add ('SELECT id_producto,codigo_producto,descripcion_producto,precio_costo_producto,precio_venta_producto,stock_p  roducto');
           SQL.Add ('FROM productos WHERE productos.descripcion_producto containing :BUSQUEDA ORDER BY productos.id_producto ');
           params.ParamByName('BUSQUEDA').AsString := Tedtfiltro.Text;
           Open();
          end;
    end;

en si los articulos que tengo son :

ANTIPARRAS VIRT
ANTIPARRAS VIRT2
ANTIPARRAS ROJAS
ANTIPARRAS ROJAS2

cuando escribo antiparras todo en orden pero cuando doy espacio se me borran ANTIPPARAS VIRT Y VIRT2
y si presiono la V .. ya no me aparece ningun registro
no se que estare haciendo mal...
Responder Con Cita
  #5  
Antiguo 30-10-2019
shinopeat87 shinopeat87 is offline
Miembro
 
Registrado: oct 2018
Posts: 21
Poder: 0
shinopeat87 Va por buen camino
TOPX gracias por tu respuesta... me hace lo mismo que sin el Trim
Responder Con Cita
  #6  
Antiguo 31-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por shinopeat87 Ver Mensaje
error de sintaxis usando el containing
Creo que no has dicho qué base datos usas: firebird, mysql, ms sqlserver, sqlite, postgresql, etc..


Pon entrecomillado el parámetro de búsqueda:
Código Delphi [-]
Params.ParamByName('BUSQUEDA').AsString := #34+Tedtfiltro.Text+#34;
Responder Con Cita
  #7  
Antiguo 31-10-2019
shinopeat87 shinopeat87 is offline
Miembro
 
Registrado: oct 2018
Posts: 21
Poder: 0
shinopeat87 Va por buen camino
hola amigos nuevamente les comento que tengo una duda que no he podido resolver. tengo un dbgrid1 asociado a una tablaproductos de mysql.

En esa parte del mensaje dije la base amigo gracias por tu respuesta, y el parámetro siempre estuvo con comillas
Responder Con Cita
  #8  
Antiguo 31-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por shinopeat87 Ver Mensaje
hola amigos nuevamente les comento que tengo una duda que no he podido resolver. tengo un dbgrid1 asociado a una tablaproductos de mysql.
Preguntas distintas en hilos distintos.
Cita:
Empezado por shinopeat87 Ver Mensaje
...y el parámetro siempre estuvo con comillas
Pues no lo veo, amigo.
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
filtrar una tabla lucas05 Varios 3 12-12-2011 22:46:24
filtrar una tabla angel1972 C++ Builder 2 02-02-2011 20:48:31
Filtrar Tabla con datos de otra Tabla Lenny Varios 31 22-01-2011 22:47:25
Filtrar una tabla por mes JefeNet Conexión con bases de datos 4 03-02-2010 17:49:59
Filtrar usando componente JvMemoryData Toñico Tablas planas 4 27-11-2008 17:58:10


La franja horaria es GMT +2. Ahora son las 23:20:15.


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