PDA

Ver la Versión Completa : Problema con Parametro en una consulta


Durbed
16-06-2005, 17:15:16
Tengo esta consulta:


consulta := 'INSERT INTO DOCUMENTOS (COD_DOCUMENTO, FECHA, DESCRIPCION, RUTA)';
consulta := consulta + ' VALUES (null, :fecha' + ''',''' + '' + ''',''' + Edit3.text + ''')';
DMAgenda.IBQInsertar.SQL.Clear;
DMAgenda.IBQInsertar.SQL.Add(consulta);
DMAgenda.IBQInsertar.ParamByName('fecha').AsDate := Date;
DMAgenda.IBQInsertar.ExecSQL;


Y me da un error al ejecutarla, me dice que le parametro "fecha" no lo encuentra, y no lo comprendo porque lo sauqe de otro programa que hice hace unos meses donde si funciona.

Un saludo y gracias.

Osorio
16-06-2005, 18:12:09
Hola,

Prueba de la siguiente:


consulta := 'INSERT INTO DOCUMENTOS (COD_DOCUMENTO, FECHA, DESCRIPCION, RUTA)';
consulta := consulta + ' VALUES (null, :fecha,'+QuotedStr('')+','+ QuotedStr(Edit3.text)+')';


Saludos

Durbed
23-06-2005, 14:51:23
Al final cambie fecha por f y le gusto mas :confused: de vez en cuando me pasan estas cosas, sin ir mas lejos me ha vuelto a pasar hoy, en el parametro puse pass y no iba, lo cambie por clave y a funcionar.

Misterios misteriosos de mi delphi?

paufra
23-06-2005, 17:23:01
Seguramente no te encuentra el parametro fecha porque el la SQL final habrá algun signo pegado a la a el cual impide la correcta interpretación del paràmetro.

INSERT INTO DOCUMENTOS (COD_DOCUMENTO, FECHA, DESCRIPCION, RUTA)
VALUES (null, :fecha',''','edit3')

En tu caso el signo ' impide leer correctamente el paràmetro. De todas formas te recomiendo que pases todos los valores por parámetro, asi te ahorras el lio que representa usar tantas comillas simples.

Durbed
23-06-2005, 17:55:41
Gracias por el consejo, asi lo hare :cool: