Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   problemas con pasaje de parametro string a un adoquery (https://www.clubdelphi.com/foros/showthread.php?t=68123)

eltioalex 26-05-2010 05:45:47

problemas con pasaje de parametro string a un adoquery
 
hola, hace poco empece a programar en delphi, espero sepan entender si mi pregunta es un poco "basica":

estoy haciendo la sig consulta con un adoquery:

SELECT *
FROM cursos
where titulo like : pnombre and activo=true
order by anio desc,semestre,titulo

justamente lo que busco es que me muestre de la tabla los registros donde el campo titulo contenga al string pnombre.
el tema es que la consulta no hace nada, asi le pase el parametro:

palabra:='*'+(labelededit1.Text)+'*';//aca palabra es de tipo string
datamodule1.consulta_buscarcurso.Close;
datamodule1.consulta_buscarcurso.Parameters.ParamByName('pnombre').Value:=palabra;
datamodule1.consulta_buscarcurso.Open;

espero puedan ayudarme y desde ya muchas gracias

Caral 26-05-2010 15:35:20

Hola
Que Base de datos usas?
Me da la impresion que Access, si es asi, no dara error pero no encontrara el string.
Saludos

voldemmor 26-05-2010 16:44:16

los :
 
revisando tu codigo me da la impresion que es uno de los errores que siempre cometia no hace mucho cuando inicie

al enviar un parametro desde delphi a tu base de datos debes especificar que es un parametro el que envias , lo haces mediante : parametro, pero los : tienen que estar pegados(no haber espaciaos) entre los : y e parametro = :pparametro
Código Delphi [-]
select * from clientes where nombre= :pnombre;

eltioalex 26-05-2010 18:38:38

Cita:

Empezado por Caral (Mensaje 365356)
Hola
Que Base de datos usas?
Me da la impresion que Access, si es asi, no dara error pero no encontrara el string.
Saludos

si si, la base de datos que uso es access, conecto con el motor microsoft jet 4.0

eltioalex 26-05-2010 18:39:35

Cita:

Empezado por voldemmor (Mensaje 365360)
revisando tu codigo me da la impresion que es uno de los errores que siempre cometia no hace mucho cuando inicie

al enviar un parametro desde delphi a tu base de datos debes especificar que es un parametro el que envias , lo haces mediante : parametro, pero los : tienen que estar pegados(no haber espaciaos) entre los : y e parametro = :pparametro
Código Delphi [-]
select * from clientes where nombre= :pnombre;

ah perdon, me habia olvidado de aclarar, separe los dos puntos del parametro porque si los ponia juntos aparecia la carita :p

Caral 26-05-2010 18:51:47

Hola

Código Delphi [-]
datamodule1.consulta_buscarcurso.Close;
datamodule1.consulta_buscarcurso.Sql.Text:=' SELECT * FROM cursos '+
     'where titulo like '''+labelededit1.Text+'*'''' and activo = true '+
     'order by anio desc, semestre, titulo';
datamodule1.consulta_buscarcurso.Open;

Saludos

eltioalex 26-05-2010 20:13:19

Cita:

Empezado por Caral (Mensaje 365367)
Hola

Código Delphi [-]
datamodule1.consulta_buscarcurso.Close;
datamodule1.consulta_buscarcurso.Sql.Text:=' SELECT * FROM cursos '+
     'where titulo like '''+labelededit1.Text+'*'''' and activo = true '+
     'order by anio desc, semestre, titulo';
datamodule1.consulta_buscarcurso.Open;

Saludos

sigue sin funcionar la consulta :( hay un datasource asociado a la consulta, un dbgrid asociado al datasource, como vine haciendo con consultas anteriores, que si funcionaban. sin embargo no entiendo por que no anda.

no se si lo habia aclarado, pero cuando ejecuto la consulta en access me muestra lo que quiero que me muestre

eltioalex 29-05-2010 03:56:14

SOLUCIONADO!

despues de tanto dolor de cabeza, el problema era que me interpretaba mal los caracteres *. tuve que concatenarle al labelededit1.text el caracter % en vez de *.
el unico motivo que se me ocurre de esto es que delphi y access utilizan diferentes codificaciones para los caracteres, pero me parece raro. en fin, problema solucionado!

gracias por las respuestas!


La franja horaria es GMT +2. Ahora son las 15:54:23.

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