у меня проблема с получением значения выходного параметра, когда я выполняю хранимую процедуру с помощью SqlCommand. У меня нет проблем с выходным параметром, когда я выполняю хранимую процедуру не из кода C #, а из SQL Server Management Studio. Вот фрагмент моего кода С#:
rest = -1;
XmlDocument res = new XmlDocument();
res.LoadXml("<Result><ErrCode>0</ErrCode></Result>");
using (SqlCommand sqlCmd = Params.SqlCn.CreateCommand())
{
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText = "dbo.wss_doProductAdd_sp";
sqlCmd.Parameters.Clear();
sqlCmd.Parameters.Add(new SqlParameter("@quantity", ilosc));
sqlCmd.Parameters.Add(new SqlParameter("@addToLog", addToLog));
sqlCmd.Parameters.AddWithValue("@rest", rest).Direction = ParameterDirection.Output;
XmlReader xr = sqlCmd.ExecuteXmlReader();
XmlNode newNode = res.ReadNode(xr);
while (newNode != null)
{
res.DocumentElement.AppendChild(newNode);
newNode = res.ReadNode(xr);
}
xr.Close();
Params.SqlCn.Close();
Я нашел это: Проблема чтения параметра из сохраненного процедура с использованием c# Я добавил строку, закрывающую ридер, но это не помогло. И какой-то пользователь по ссылке выше использует метод LoadHits, и я не могу найти его ни в MSDN, ни в Google.