sql >> Databasteknik >  >> RDS >> Sqlserver

hur man får returvärde från procedure sql server 2005 till c#

Det beror på att du definierar parametern i .NET som ett ReturnValue vilket faktiskt skulle motsvara scenariot där du använder RETURN inom den lagrade proceduren för att returnera ett heltal (vilket du inte gör).

Istället måste du definiera @strFailedEMPID-parametern som ParameterDirection.Output i din .NET-kod. Om du vill skicka ett värde in OCH ta emot ett genom parametern, använd ParameterDirection.InputOutput.

Efter att ha kört sproc, gör du sedan bara:

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

Så...

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. Vad är Javas JPA-teknik?

  2. Indexkolumnstorleken är för stor. Den maximala kolumnstorleken är 767 byte. - För INT-datatyp?

  3. är en GUID ett bra salt? har min registrerings-/inloggningsprocess något fel?

  4. Skillnad mellan DECIMAL och NUMERIC datatyp i PSQL