Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

come ottenere il valore restituito dalla procedura sql server 2005 in c#

È perché stai definendo il parametro in .NET come ReturnValue che equivarrebbe effettivamente allo scenario in cui usi RETURN all'interno della stored procedure per restituire un intero (cosa che non stai facendo).

È invece necessario definire il parametro @strFailedEMPID come ParameterDirection.Output all'interno del codice .NET. Se vuoi passare un valore E riceverne uno in uscita tramite il parametro, usa ParameterDirection.InputOutput.

Dopo aver eseguito lo sproc, devi solo:

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

Allora....

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;