PDA

Ver la Versión Completa : Interbase me arroja un error al tratar de insertar con una Query


xompumania
28-05-2008, 20:36:04
Estimados, estoy intentando insertar un registro via IBQUERY con el siguiente codigo


if fmovimientos.chk_normal.Checked then
Begin
dm1.IBQuery2.SQL.Clear;
texto :='Insert into '+origen+' values(' + cod_mov+','+tipo+','+cod_prod+','+kilos+')';
texto := trim(texto);
dm1.IBQuery2.sql.text:= texto;
dm1.IBQuery2.ExecSQL;


La aplicacion me da el siguiente error:
"Dynamic SQL error, code -206
Column Unknow
INGRESO"

Lo extraño es que no tengo ninguna columna ni campo llamada "INGRESO" por lo que me resulta extraño el error, por otro lado pienso que tal vez estoy cometiendo algun error en la query.text.
Origen es una variable con el nombre de la tabla a utilizar
Cod_mov,cod_prod,tipo y kilos son los nombres de los campos que
tiene la tabla en la cual quiero insertar.
De estos solo tipo es string los demas son integer.

Llevo desde ayer tratando de resolver esto y no encuentro por donde, si alguien pudiera echarle un vistazo y comentar si hay algo malo en esto .... desde ya muchas gracias.
Ocupo Delphi 2006 e interbase 6.5.


Saludos a todos.

maeyanes
28-05-2008, 20:50:59
Hola...

Tu error está precisamente en como pasas el valor de Tipo...


texto :='Insert into ' + origen + ' values(' + cod_mov+ ', ''' + tipo + ''', ' + cod_prod + ', ' + kilos + ')';

// o tambien puede ser así:
texto :='Insert into ' + origen + ' values(' + cod_mov+ ', ' + QuoteStr(tipo) + ', ' + cod_prod + ', ' + kilos + ')';



Saludos...

xompumania
28-05-2008, 21:01:05
Muchas gracias por la respuesta, con el QUOTEDSTR la cosa a funcionado, no conocia este comando.....bueno muchas gracias por la ayuda.Saludos