FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas con 'like'
Buenas tardes,
Tengo una base de datos realizada en FB1.5, y la aplicación en C++ Builder 6 con componentes de acceso a datos IBX. Me estoy encontrando con un problema en unas consultas muy simples que hasta el momento funcionaban y nadie se habia quejado. Estas consultas SQL permiten consultar o todos los registros por defecto o si el usuario entra en un Edit un articulo solo devuelve los que se corresponden con dicho articulo. Para poder hacer la clausula where utilizo un like y desde el programa concateno '%' + Codigo.
Este sistema me ha estado funcionando bien hasta ahora, que me he encontrado con el caso que hay registros en la base de datos que no me los esta mostrando. Por ejemplo, desde el IBManager realizo la misma consulta pero en lugar de utilizar el like utilizo '=', entonces si me retorna todos los registros con el codigo='1234', cosa que con like en algun caso muy, muy puntual no me devuelve todos los registros.
Deciros que esta tabla historico tiene aplicada una llave externa con la tabla de articulos para garantizar que el codigo de articulo es correcto y existe. Por lo que no permitiria un codigo con espacios o algun error de estos. Como os decia es en algun caso muy puntual pero tengo que encontrar la causa. En uno de los casos que me he encontrado he estado intentando buscar que diferencia podia haber entre este registro y los que si devolvia, pero no he encontrado nada. Lo que si puedo aportar es que desde el IBMananger me he colocado encima del registro en cuestion y le he vuelto a repicar el codigo sobre si mismo y he grabado los cambios con la sorpresa de que ahora ya sale el registro cuando se consulta desde el programa.
__________________
Saludos, Bitman Última edición por Toni fecha: 23-02-2011 a las 17:13:16. |
#2
|
||||
|
||||
Hola
no se si te sirva, pero yo utilizaba Interbase y el codigo para aplicar el like era el sigte:
vBus es un componente de tipo Edit Salu2
__________________
BlueSteel |
#3
|
|||
|
|||
Hola,
Por lo que yo se los '%' en el like se utilizan de igual forma que los comodines '*' en un dir de ms-dos, por lo si lo colocar solo delante '%1234' te buscara coincidencias que terminen en '1234'. Cita:
Cita:
__________________
Saludos, Bitman |
#4
|
||||
|
||||
Exactamente así:
Cita:
|
|
|
|