Comment puis-je obtenir la valeur de retour de la procédure stockée lors de l'utilisation de SqlDataReader?
Est-il pas possible d'obtenir la valeur de retour d'un procedeure lors de l'utilisation d'un datareader? La valeur de retour est toujours nulle, mais le PS retourne valide int dans 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
}
OriginalL'auteur NickG | 2011-11-11
Vous devez vous connecter pour publier un commentaire.
Agh. J'ai découvert le lecteur doit être fermé pour obtenir la valeur de retour! Donc, à l'intérieur du if {} bloc ci-dessus, j'ai ajouté:
...et maintenant ça fonctionne OK!
Très sympa! La fermeture de la DataReader a fait le tour pour moi.
OriginalL'auteur NickG