Вот простой фрагмент кода большей функции в качестве примера.
Using conn as New SqlConnection("conn string")
Using find as new SqlCommand("ExampleProc",conn)
Dim rParam as new SqlParameter("@RESULT",SqlDbType.Int)
rParam.Direction = ParameterDirection.Output
find.Pareameters.Add(rParam)
Using f as SqlDataReader = find.ExecuteReader
'Do stuff with datareader
End Using
updateResult.Success = Convert.ToBoolean(find.Parameters("@RESULT").Value)
End Using
End Using
Я знаю, что выходной параметр возвращается после закрытия SqlDataReader. Из того, что я думаю, я знаю, оператор Using вызовет .Dispose
в SqlDataReader, так что это в основном уничтожит параметр Output? Если это так, то какой метод лучше всего вызвать SqlDataReader, который также содержит параметры вывода, который закрывает и удаляет все правильно? Я не мог найти какую-либо конкретную информацию или примеры в Интернете в моем поиске. Спасибо!
Позвольте мне добавить, что, исходя из того, что я прочитал, у вас есть доступ к параметру Output только через SqlDataReader после вызова .Close для SqlDataReader.