FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
uso del comodín '%' en una consulta SQL
Estoy lanzando una consulta a una base de datos alojada en un SQL Server 2000 a traves de un AdoQuery
dm.tblMusica.Active := false; ordensql := 'SELECT ObrasMusica.*, Autores.Nombre AS Nombre FROM ObrasMusica INNER JOIN Autores ON ObrasMusica.IdAutor = Autores.IdAutor Where Titulo LIKE :VCriterio'; dm.tblMusica.SQL.text := ordensql; dm.tblMusica.Parameters.ParamByName('VCriterio').Value := txtcriterio.Text + '%'; dm.tblMusica.Active := true; La busqueda la realiza según el criterio escrito en un edit (txtcriterio) y asociado al evento Textchange El analizador de consultas de SQL Server me da el resultado esperado, por ejemplo, todos los títulos que empiecen por la P, sustituyendo :VCriterio por 'p%', pero lanzada la consulta desde Delphi 6, el comodín '%' se comporta como '_', es decir, solo se comporta como comodin con un sólo carácter, en vez de 'todo lo que vaya detrás', que es lo que pretendo. ¿alguna idea? |
#2
|
||||
|
||||
Has probado a utilizar el asterisco *
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Gracias por responder.
Sí, ya probé el asterisco, y con el no devuelve ningún resultado. Saludos |
#4
|
|||
|
|||
Solucionado
he logrado solucionar el problema excluyendo el parámetro en la consulta (por a alguien le pasara lo mismo)
ordensql := 'SELECT ObrasMusica.*, Autores.Nombre AS Nombre FROM ObrasMusica INNER JOIN Autores ON ObrasMusica.IdAutor = Autores.IdAutor Where Titulo LIKE ' + chr(39) + txtcriterio.Text + '%' + chr(39); Aun así, construyo otras consultas más complicadas que esta pasando parámetros y el comodín no me da ningún problema. Sigo intrigrado porqué con esta sí. |
|
|
|