PDA

Ver la Versión Completa : Problema con procedimiento almacenado


juziel
18-09-2004, 21:13:03
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:

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
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