SqlDataReader.Close Метод

Определение

Закрывает объект SqlDataReader.Closes the SqlDataReader object.

public:
 virtual void Close();
public void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Sub Close ()

Реализации

Примеры

В следующем примере создается SqlConnection, SqlCommandи SqlDataReader.The following example creates a SqlConnection, a SqlCommand, and a SqlDataReader. Пример считывает данные, записывая их в окно консоли.The example reads through the data, writing it out to the console window. Затем код закрывает SqlDataReader.The code then closes the SqlDataReader. SqlConnection автоматически закрывается в конце блока кода using.The SqlConnection is closed automatically at the end of the using code block.

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

Комментарии

Необходимо явно вызвать метод Close при использовании SqlDataReader, чтобы использовать связанную SqlConnection для любой другой цели.You must explicitly call the Close method when you are through using the SqlDataReader to use the associated SqlConnection for any other purpose.

Метод Close заполняет значения для выходных параметров, возвращаемых значений и RecordsAffected, увеличивая время, необходимое для закрытия SqlDataReader, которое использовалось для обработки большого или сложного запроса.The Close method fills in the values for output parameters, return values and RecordsAffected, increasing the time that it takes to close a SqlDataReader that was used to process a large or complex query. Если возвращаемые значения и количество записей, затронутых запросом, не являются значимыми, то время, необходимое для закрытия SqlDataReader, можно уменьшить, вызвав метод Cancel связанного SqlCommand объекта перед вызовом метода Close.When the return values and the number of records affected by a query are not significant, the time that it takes to close the SqlDataReader can be reduced by calling the Cancel method of the associated SqlCommand object before calling the Close method.

Внимание!

Не вызывайте Close или Dispose для соединения, DataReader или любого другого управляемого объекта в методе Finalize вашего класса.Do not call Close or Dispose on a Connection, a DataReader, or any other managed object in the Finalize method of your class. В методе завершения следует освобождать только неуправляемые ресурсы, непосредственно принадлежащие классу.In a finalizer, you should only release unmanaged resources that your class owns directly. Если класс не владеет какими-либо неуправляемыми ресурсами, не включайте в его определение метод Finalize.If your class does not own any unmanaged resources, do not include a Finalize method in your class definition. Дополнительные сведения см. в разделе сборка мусора.For more information, see Garbage Collection.

Применяется к

Дополнительно