Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problema con procedimiento almacenado (https://www.clubdelphi.com/foros/showthread.php?t=14386)

juziel 18-09-2004 21:13:03

Problema con procedimiento almacenado
 
Hola a todos

Tengo un procedimiento almacenado el cual utilizo para actualizar algunos campos de una tabla, el problema es que cuando lo llamo desde delphi y le paso los parametros no me actualiza los registros de la tabla. Desde delphi hago algo como esto:
Código Delphi [-]
try
  transaction.startransaction;
  stpActualiza.prepare;
  stpActualiza.ParamByName['COSTO'].AsFloat := StrToFloat(edCosto.Text);
  stpActualiza.ExecProc;
  transaction.CommitRetainning;
finally
  stpActualiza.Close;
end;
Cuando lo hago desde interbase si lo ejecuta bien,
Utilizo delphi 6, Firebird 1.5.1 y FIBPlus, y no se que me hace falta para que pueda actualizar esos campos.
y gracias de antemano por su ayuda

buitrago 18-09-2004 21:38:40

Como yo lo hago
 
Orden

1) Pues yo abro la Transaccion
2) Paso los parametros
3) Prepare;
4) ExecProc;
5) COMMIT a la transaccion

y Siempre me lo ejecuta, prueba su ese orden a ver.

Claro, esta transanccion que yo tengo es solo para los procedures almacenados.

De hecho, yo tengo un procedure que la abre y la cuierra y por eso mis procedimientos para ejecutar procedures almacenados van con estas dos acciones, uno que abre la transaccion, lo otro que te dije de paso de parametros y ejecución, y el cierre.


Saludos

Fer

juziel 20-09-2004 16:50:36

Hola

gracias por responder, hice lo que dices en el orden que tienes pero sigue sin guardar los datos, seguire investigando a ver si puedo solucionarlo

guillotmarc 20-09-2004 17:02:11

Hola.

Prueba con el Commit en lugar del CommitRetaining.

Saludos.

juziel 20-09-2004 18:31:41

hola, gracias por su ayuda
despues de intentar varias cosas, creo que ya he encontrado por que no guardaba los valores, bueno no se si se deba a eso pero el caso es que tenia abierta la tabla, cuando la cerre y volvi a ejecutar el procedimiento ahora si guardo los valores y gracias guillotmarc utilice otra transaccion como dijo buitrago y en ella hice el commit
gracias por su ayuda de nuevo, hasta luego


La franja horaria es GMT +2. Ahora son las 20:31:12.

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