Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Invalid parameter en run-time pero no en IDE (https://www.clubdelphi.com/foros/showthread.php?t=13354)

nefy 16-08-2004 18:43:58

Invalid parameter en run-time pero no en IDE
 
Estando en el IDE de delphi ejecuto la siguiente sentencia SQL en un TQuery:

Código SQL [-]
 INSERT INTO MovimientoCuentaBancaria 
(NoMovimiento, CuentaBanco, NoCheque, Concepto,  Abono) 
 VALUES(5268.0,   1, '11' , 'Cheque al portador', 3.5)

Obviamente solo marca la excepcion "Error creating cursor handle", pero si inserta el registro en la tabla. Pero cuando esto lo envio a codigo para tomar valores de variable y tablas de esta manera me marca el error invalid parameter:

Código SQL [-]
  Qry.SQL.Text:='INSERT INTO MovimientoCuentaBancaria 
 (NoMovimiento, CuentaBanco, NoCheque, Concepto,
 '+' Abono) VALUES '+
     '('+FloatToStr(NoMov)+', '+CuentaBanco+', '+
     QuotedStr(DM.DetDeposito.Fields[1].AsString)+
     QuotedStr('Aportación de Beneficiarios')+', '+
     FloatToStr(DM.DetDeposito.Fields[3].AsFloat)+')';

Nota: Uso Delphi 6, Firebird 1.5 y pdx, estoy insertando registros a tablas paradox , pero tomando datos de una base de datos de Firebird.

Salu2.

delphi.com.ar 18-08-2004 03:20:15

¿Cómo estas ejecutando este SQL en Runtime? ¿Porqué no nos muestras el valor que toma el SQL una vez asignado?

Saludos!

nefy 18-08-2004 16:38:46

Bueno estoy usando ExecSQL pues obviamente esta sentencia no devuelve ningun Dataset. Y pues finalmente solucione el problema, lo que hice fue ir eliminando posibilidades (omitir campos), despues de q no me marcaba error y me permitia hacer las inserciones la sentencia quedo asi:

Código:

Qry.SQL.Text:=
'INSERT INTO MovimientoCuentaBancaria(NoMovimiento, CuentaBanco, NoCheque, Concepto, Abono)'+
' VALUES '+
'('+FloatToStr(NoMov)+', '+CuentaBanco+', '+
QuotedStr(DM.DetDeposito.Fields[1].AsString)+', '+//NoCheque es decir NoRecibo
QuotedStr('Concepto cualquiera')+', '+//Concepto
FloatToStr(DM.DetDeposito.Fields[3].AsFloat)+')'; //Abono
    ExecSQL;



La franja horaria es GMT +2. Ahora son las 04:08:30.

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