Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

jak uzyskać zwracaną wartość z procedury sql server 2005 do c#

Dzieje się tak dlatego, że definiujesz parametr w .NET jako ReturnValue, który w rzeczywistości odpowiada scenariuszowi, w którym używasz RETURN w procedurze składowanej, aby zwrócić liczbę całkowitą (czego nie robisz).

Zamiast tego należy zdefiniować parametr @strFailedEMPID jako ParameterDirection.Output w kodzie platformy .NET. Jeśli chcesz przekazać wartość do ORAZ otrzymać ją przez parametr, użyj ParameterDirection.InputOutput.

Po wykonaniu sproc, po prostu:

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

Więc....

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Optymalny sposób łączenia/agregowania ciągów

  2. nie można wyświetlić edytora Visual Studio Tools for Application w SSIS 2012

  3. Zapytania hierarchiczne w SQL Server 2005

  4. Błąd:nie można pobrać wiersza od ADsDSOObject dostawcy OLE DB dla serwera połączonego ADSI

  5. Funkcja Week() w skrypcie sql