4
使用數據讀取器時,是否無法獲取存儲過程的返回值?返回值始終爲空,但SP從SSMS中返回一個有效的int。如何在使用SqlDataReader時獲取存儲過程的返回值?
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
}
這實際上記錄在MSDN上,雖然不是非常顯眼。例如,請參閱http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx的*「備註」*部分或http://「關閉DataReader」部分* //msdn.microsoft.com/en-us/library/haa3afyz.aspx。 – LukeH
非常好!關閉DataReader對我也有好處。 –