In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problema con TSqlQuery:Locate() conectado con un TAdoDatasource a Mysql

Foro de Xailer profesional en español
Mariano Filippi
Mensajes: 102
Registrado: Mar Ago 15, 2006 3:28 pm

Problema con TSqlQuery:Locate() conectado con un TAdoDatasource a Mysql

Mensaje por Mariano Filippi »

Hola...
Estoy teniendo problemas con el método locate del TSqlQuery.
El problema surge al querer buscar (con el filtro ocurre lo mismo) aquellos
registros en donde un campo determinado comience con una cadena de
caracteres.
Por ej, en un campo QDES, los que comiencen con la cadena "MADE" (para
buscar maderas, por ej, pero no poniendo toda la cadena).
Suponiendo que tengo una variable oQuery que es del tipo TSqlQuery, pongo lo
siguiente
oQuery:Locate('Left(QDES,4)="MADE"')
Esto no funciona. Sólo funciona si se pone la expresión exacta.
oQuery:Locate('QDES="MADE"'), lo que, obviamente, no me sirve.
El locate da un error de DataControls, al utilizar Left, sin embargo si
pruebo ejecutar un select utilizando Left, funciona bien, es decir
Select * from tabla where Left(QDES,4)="MADE"
Me preocupa que esto no funcione con el filtro, porque es una función que
suelo utilizar muy a menudo cuando tengo un TDBbrowse (pretendo filtrarlo
desde el programa y no utilizando los autofiltros del TDBBrowse)
Si alguien sabe por que no funciona, agradecido ...
Responder