![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Bunas,
En primer lugar realizar una búsqueda por campo tipo memo no es de lo mas óptimo ni aconsejable. Alguna solución sería castear (aunque no sé si el motor lo soporta) el campo y luego realizar la búsqueda donde deberías utilizar un uppercase tanto para el contenido del campo como para el parámetro que le estás pasando. Hay otros métodos mucho más complejos de realizar este tipo de búsquedas que realmente bien utilizados dan extraordinarios resultados, pero son utilizados para desarrollos muy puntuales. Debo indicar también que Dbase lo conozco muy por encima por lo que mis comentarios son de por sí vagos.
__________________
Suerte .: Gydba :. |
|
#2
|
|||
|
|||
|
Nunca lo he probado en DBase, pero en interbase/firebird si funciona:
Código:
SELECT * FROM tabla WHERE campo CONTAINING '%cadena%' |
|
#3
|
|||
|
|||
|
La instrucción CONTAINING parece que no esta soportada en Dbase.
De momento, he solucionado el problema con las siguientes instrucciones, no sé si habrá otra solución para buscar una "string" no sensible a Mayusculas o Minusculas en un campo memo, de una base de datos DBASE. q_pre.SQL.add('Select * from PREGUNTA'); q_pre.SQL.add('where TIPO = :cTipo'); * q_pre.SQL.add('or TEXTO LIKE :buscar0'); // minusculas * q_pre.SQL.add('or TEXTO LIKE :buscar1'); // mayusculas * q_pre.SQL.add('or TEXTO LIKE :buscar2)');// la 1ª en Mayusculas * q_pre.Params[0].AsString := '%'+UPPERCASE (Buscar.text) +'%'; * q_pre.Params[1].AsString := '%'+LOWERCASE(Buscar.text) +'%'; * q_pre.Params[2].AsString := '%'+UPPERCASE (copy(Buscar.text,1,1))+ LOWERCASE(copy(buscar.text,2,length(Buscar.text)))+'%'; |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|