Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

como obter o valor de retorno do procedimento sql server 2005 para c #


É porque você está definindo o parâmetro no .NET como um ReturnValue, o que equivaleria ao cenário em que você usa RETURN dentro do procedimento armazenado para retornar um inteiro (o que você não está fazendo).

Em vez disso, você precisa definir o parâmetro @strFailedEMPID como ParameterDirection.Output em seu código .NET. Se você quiser passar um valor de entrada E receber um de saída através do parâmetro, use ParameterDirection.InputOutput.

Depois de executar o sproc, você apenas:
string value = lsqlCmd.Parameters["@strFailedEMPID"].value;

Então....
lsqlParam = new SqlParameter("@strFailedEMPID ", SqlDbType.VarChar);
lsqlParam.Value = "0";
lsqlParam.Direction = ParameterDirection.InputOutput;
lsqlCmd.Parameters.Add(lsqlParam);

lsqlCmd.ExecuteNonQuery();
string value = lsqlCmd.Parameters["@strFailedEMPID"].value;