Je suis en train d'appeler une procédure stockée à partir de mon application windows en C#. La procédure stockée est exécutée sur une instance locale de SQL Server 2008. Je suis en mesure d'appeler la procédure stockée, mais je ne suis pas en mesure de récupérer la valeur de retour de la procédure stockée. Cette procédure stockée est censé renvoyer le numéro suivant dans la séquence. J'ai fait des recherches en ligne et tous les sites que j'ai vu l'avons souligné à cette solution de travail.
Code de procédure stockée:
ALTER procedure [dbo].[usp_GetNewSeqVal]
@SeqName nvarchar(255)
as
begin
declare @NewSeqVal int
set NOCOUNT ON
update AllSequences
set @NewSeqVal = CurrVal = CurrVal+Incr
where SeqName = @SeqName
if @@rowcount = 0 begin
print 'Sequence does not exist'
return
end
return @NewSeqVal
end
Le Code d'appel de la procédure stockée:
SqlConnection conn = new SqlConnection(getConnectionString());
conn.Open();
SqlCommand cmd = new SqlCommand(parameterStatement.getQuery(), conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter();
param = cmd.Parameters.Add("@SeqName", SqlDbType.NVarChar);
param.Direction = ParameterDirection.Input;
param.Value = "SeqName";
SqlDataReader reader = cmd.ExecuteReader();
J'ai également essayé d'utiliser un DataSet
pour récupérer la valeur de retour avec le même résultat. Ce qui me manque pour obtenir
la valeur de retour de ma procédure stockée? Si plus d'information est nécessaire, s'il vous plaît laissez-moi savoir.
Merci