SqlDataReader.Close Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Закрывает объект SqlDataReader.
public:
virtual void Close();
public:
override void Close();
public void Close ();
public override void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
override this.Close : unit -> unit
Public Sub Close ()
Public Overrides Sub Close ()
Реализации
Примеры
В следующем примере создаются SqlConnection, и SqlCommand
SqlDataReader. Пример считывает данные, записывая их в окно консоли. Затем код закрывает SqlDataReader. Автоматически SqlConnection закрывается в конце using
блока кода.
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command =
new SqlCommand(queryString, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
// Call Read before accessing data.
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
// Call Close when done reading.
reader.Close();
}
}
}
}
Private Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
' Call Read before accessing data.
While reader.Read()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
Комментарии
При использовании SqlDataReader необходимо явно вызвать Close метод , чтобы использовать связанный SqlConnection объект для любых других целей.
Метод Close
заполняет значения выходных параметров, возвращаемых значений и RecordsAffected
, увеличивая время, необходимое для закрытия SqlDataReader
, которое использовалось для обработки большого или сложного запроса. Если возвращаемые значения и количество записей, затронутых запросом, не являются значительными, время, необходимое для закрытия SqlDataReader
, можно уменьшить путем вызова Cancel метода связанного SqlCommand объекта перед вызовом Close
метода .
Внимание!
Не вызывайте Close
метод connection Dispose
, DataReader или любой другой управляемый объект в методе Finalize
класса . В средстве завершения следует освобождать только неуправляемые ресурсы, которыми ваш класс владеет напрямую. Если класс не владеет какими-либо неуправляемыми ресурсами, не включайте в его определение метод Finalize
. Дополнительные сведения см. в статье Сборка мусора.