Ver Mensaje Individual
  #1  
Antiguo 21-12-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Reputación: 4
juggern Va por buen camino
Valor de parámetro de salida ADO Stored Procedure

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
Responder Con Cita