Buenos días chicos,
No se si este tema iría exactamente aquí, creo que si.
Veréis, tengo un procedimiento almacenado creado en SQL que devuelve un valor en uno de los parámetros:
Código SQL
[-]
ALTER PROCEDURE [dbo].[PR_calculacontador]
@ejercicio int,
@local varchar(2),
@contador int OUTPUT
Yo ejecuto este procedimiento almacenado desde delphi y lo ejecuta bien, hace los procesos que tiene que hacer dentro del pa y todo.
El problema que tengo que es quiero guardar en una variable el valor de @contador, porque tengo que usarlo más adelante, pero no consigo acceder a ese valor.
Hago lo siguiente:
Código Delphi
[-]
cont:= 0;
ADOStoredProc1.ProcedureName:= 'PR_calculacontador';
ADOStoredProc1.Parameters.Clear;
ADOStoredProc1.Parameters.AddParameter.Name:= 'ejercicio';
ADOStoredProc1.Parameters.ParamByName('ejercicio').Value := 2020;
ADOStoredProc1.Parameters.AddParameter.Name:= 'local';
ADOStoredProc1.Parameters.ParamByName('local').Value := 'ES';
ADOStoredProc1.Parameters.AddParameter.Name:= 'contador';
ADOStoredProc1.Parameters.ParamByName('contador').Value := cont;
ADOStoredProc1.ExecProc;
cont := ADOStoredProc1.Parameters.ParamByName('contador').Value;
El procedimiento lo ejecuta, pero no se bien como acceder al valor que devuelve contador porque la variable cont no la actualiza, me devuelve siempre 0.
Muchas gracias
Un saludo