Wie bekomme ich den Rückgabewert der gespeicherten Prozedur, bei der Verwendung von SqlDataReader?
Ist es nicht möglich, den return-Wert einer gespeicherten procedeure bei der Verwendung von datareader-Objekt? Der Rückgabewert ist immer null, aber die SP gibt einen gültigen int-innerhalb von SSMS.
myCommand.CommandText = "GetVenueVideos";
SqlParameter retVal = new SqlParameter("@returnValue",SqlDbType.Int);
retVal.Direction = ParameterDirection.ReturnValue;
myCommand.Parameters.Add(retVal);
myReader = myCommand.ExecuteReader();
if (myReader.Read() && myReader.HasRows)
{
int returnValue = Convert.ToInt32(retVal.Value);
//returnValue is null at this point
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Agh. Ich habe herausgefunden, der Leser muss geschlossen werden, um die Rückkehr Wert! Also innerhalb der if {} - block oben habe ich Hinzugefügt:
...und jetzt funktioniert es OK!