sql >> Databáze >  >> RDS >> Sqlserver

jak získat návratovou hodnotu z procedury sql server 2005 do c#

Je to proto, že definujete parametr v .NET jako ReturnValue, což by se ve skutečnosti rovnalo scénáři, kdy používáte RETURN v rámci uložené procedury k vrácení celého čísla (což neděláte).

Místo toho musíte v kódu .NET definovat parametr @strFailedEMPID jako ParameterDirection.Output. Pokud chcete předat hodnotu a přijmout ji prostřednictvím parametru, použijte ParameterDirection.InputOutput.

Po provedení sproc pak stačí:

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

Takže....

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;



  1. Výsledky databáze jako objekty nebo pole?

  2. PHP mění starý mysql_query na PDO

  3. Skryté funkce v Oracle

  4. Vyhledejte řetězec v celé tabulce v mySQL