Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

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.043
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: 17
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.043
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.043
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 16:46:56.


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