Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Providers (https://www.clubdelphi.com/foros/forumdisplay.php?f=10)
-   -   ClientDatasets, filtros y "LIKE" que filtra parcialmente, como se le da la gana (https://www.clubdelphi.com/foros/showthread.php?t=78408)

Walterio 17-04-2012 14:11:40

ClientDatasets, filtros y "LIKE" que filtra parcialmente, como se le da la gana
 
Hola a todos.
Seguramente, me verán hacer varias preguntas sobre Clientdataset, es que recien ahora los estoy usando y hay ciertas cosas que desconozco.
Mi escenario de trabajo es :
Delphi 6 con MySQL.
TQuery, provider, clientdataset y dbgrid.
El stema es el siguiente :
Tengo una dbgrid que muestra, segun la opción elegida por el usuario, distintas consultas.El tema es que tengo armado una especie de filtro que me muestra en un form las opciones para filtrar cualquiera de esos campos según el valor que se ingresa.
Hasta alli, bien (esta misma grilla, pero con tablas DBF funciona perfecto).El tema está que, cuando tengo que filtrar un campo definido como VARCHAR en MySQL, sólo me filtra por las primeras tres letras, si le pongo cuatro, ya no funciona el filtro.
Esto es algo asi como :

Código Delphi [-]
sFiltroCampo :=  oField.FieldName + ' LIKE Upper('+ QuotedStr('%'+ txtCadena.text +'%')+')';

Se lo asigno a la propiedad filter delclientdataset y sólo me toma las tres primeras letras ingresadas.Los campos numéricos y de fcehas funcionan a la perfección.
Alguna pista?

Casimiro Notevi 17-04-2012 14:32:04

Recuerda poner los tags al código fuente, ejemplo:


Y pon el código que usas para que lo veamos, será más fácil para poder ayudar :)

Walterio 17-04-2012 15:06:49

Ups...es verdad, mis diculpas por la torpeza.
Aqui transcribo corregida la pregunta :

Hola a todos.
Seguramente, me verán hacer varias preguntas sobre Clientdataset, es que recien ahora los estoy usando y hay ciertas cosas que desconozco.
Mi escenario de trabajo es :
Delphi 6 con MySQL.
TQuery, provider, clientdataset y dbgrid.
El stema es el siguiente :
Tengo una dbgrid que muestra, segun la opción elegida por el usuario, distintas consultas.El tema es que tengo armado una especie de filtro que me muestra en un form las opciones para filtrar cualquiera de esos campos según el valor que se ingresa.
Hasta alli, bien (esta misma grilla, pero con tablas DBF funciona perfecto).El tema está que, cuando tengo que filtrar un campo definido como VARCHAR en MySQL, sólo me filtra por las primeras tres letras, si le pongo cuatro, ya no funciona el filtro.
Esto es algo asi como :

Código Delphi [-]
sFiltroCampo := oField.FieldName + ' LIKE Upper('+ QuotedStr('%'+ txtCadena.text +'%')+')';

Se lo asigno a la propiedad filter delclientdataset y sólo me toma las tres primeras letras ingresadas.Los campos numéricos y de fcehas funcionan a la perfección.
Alguna pista?


La franja horaria es GMT +2. Ahora son las 00:05:00.

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