Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2005
Raze Raze is offline
Registrado
 
Registrado: feb 2005
Posts: 9
Poder: 0
Raze Va por buen camino
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?
Responder Con Cita
  #2  
Antiguo 07-02-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Has probado a utilizar el asterisco *

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 07-02-2005
Raze Raze is offline
Registrado
 
Registrado: feb 2005
Posts: 9
Poder: 0
Raze Va por buen camino
Gracias por responder.
Sí, ya probé el asterisco, y con el no devuelve ningún resultado.
Saludos
Responder Con Cita
  #4  
Antiguo 07-02-2005
Raze Raze is offline
Registrado
 
Registrado: feb 2005
Posts: 9
Poder: 0
Raze Va por buen camino
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í.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:43:59.


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
Copyright 1996-2007 Club Delphi