Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problemas con el Like (https://www.clubdelphi.com/foros/showthread.php?t=34126)

Ledian_Fdez 27-07-2006 20:30:48

Problemas con el Like
 
Holas amigos de este brillantisimo Foro:
Pues hoy les traigo una interrogante mas. Pues intento hacer una consulta con like y no me sale, aunque no me da error la aplicacion no devuelve lo correcto. Se las muestro:
Código Delphi [-]
public     
{ Public declarations }        
Provin : String;

Aqui es como toma valor Provin:
Código Delphi [-]
PrincipalForm.Provin := ComboBox1.Text;


Provincia es el nombre del parametro que toma valor de la siguiente forma:
Código Delphi [-]
DM.QrTC.Parameters.ParamByName('provincia').Value := Provin + '*';

y mi consulta en SQL es
Código SQL [-]
SELECT SITUACION.* FROM SITUACION WHERE km like Provincia

compruebo con
Código Delphi [-]
Showmessage(DM.QrOpRes.Parameters.ParamByName('Provincia').Value);

y me devuelve 01*
Código Delphi [-]
DM.QrOpRes.Open;


No me devuelve ningun registro. Donde me tendria que devolver 10 registros.

Por favor alguien sabe donde esta el error ???

Muchas gracias de antemano
saludos Ledian

Se me olvidaba utilizo delphi7 y access como base de datos, me conecto a ella a traves de ADO.

HenryAraniva 27-07-2006 20:56:12

El comodin que se utiliza en lugar del * es: %, pon en tu codigo
DM.QrTC.Parameters.ParamByName('provincia').Value := Provin + '%';y prueba si te funciona...

egostar 27-07-2006 20:58:07

Cita:

Empezado por Ledian_Fdez
SELECT SITUACION.* FROM SITUACION WHERE km like Provincia

Solo una pregunta de lógica, no es lo mismo km que el nombre de una provincia.

Me haces pensar que la orden es asi mas o menos
Cita:

SELECT SITUACION.* FROM SITUACION WHERE 1000 like MADRID*
Pos no, no me cuadra la comparación.

Saludos.

PD: En access hasta donde se, se usa el comodin * no el %, si km es el nombre de alguna provincia entonces si aplica, pero no se si le faltara algo para delimitar los string en Access.

Nuevos saludos.

Ledian_Fdez 27-07-2006 21:08:41

like mi dolor de cabeza !!!
 
1) egostar km es el nombre del campo, para nada significa kilometros.

2) HenryAraniva utilice el comodin que me dijiste y no resulto, sigo obteniendo lo mismo.

Saludos y gracias a ambos de todas formas.
Ledian.

vtdeleon 28-07-2006 03:30:06

Saludos

Es algo tonto, pero por tonterias es qeu uno se embulla.

Creo qe te falta el signo de "dos puntos" : en la sentencia

Código SQL [-]
SELECT SITUACION.* FROM SITUACION WHERE km like :Provincia

noshy 28-07-2006 17:27:57

SQL

Código SQL [-]
Select * from TABLA where campo like '%texto%'

Si lo queres pasar cmo parametro en Delphi


Código Delphi [-]
Var
    vtexto : String;
begin

   vtexto := '%text%'
   Query.SQL.Add('Select * from TABLA where campo like :variable ');
   Params[0].AsString := VTexto;
end;


Espero te sirva

Ledian_Fdez 28-07-2006 19:11:48

Problema resuleto
 
Gracias a ustedes ya he resuleto mi problema, pues solo tenia que ponerle los dos puntos delante de mi parametro y puffffff .... problema resuleto.

una ves mas muchas gracias
saludos
Ledian.

vtdeleon 28-07-2006 21:42:19

Jeje, Qué te dije :D:D:D:D

Saludos


La franja horaria es GMT +2. Ahora son las 08:26:45.

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