SqlDataReader.Close Metoda

Definicja

SqlDataReader Zamyka obiekt.

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 ()

Implementuje

Przykłady

W poniższym przykładzie jest tworzony element SqlConnection, a SqlCommandi SqlDataReader. Przykład odczytuje dane, zapisuj je w oknie konsoli. Następnie kod zamyka plik SqlDataReader. Element SqlConnection jest zamykany automatycznie na końcu using bloku kodu.

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

Uwagi

Należy jawnie wywołać metodę Close , gdy używasz metody SqlDataReader , aby używać jej do SqlConnection użycia w innym celu.

Metoda Close wypełnia wartości parametrów wyjściowych, zwraca wartości i RecordsAffected, zwiększając czas potrzebny na zamknięcie SqlDataReader , który został użyty do przetworzenia dużego lub złożonego zapytania. Gdy wartości zwracane i liczba rekordów, których dotyczy zapytanie, nie są znaczące, czas potrzebny na zamknięcie SqlDataReader obiektu może zostać zmniejszony przez wywołanie metody skojarzonego SqlCommand obiektu przed wywołaniem Cancel Close metody .

Przestroga

Nie należy wywoływać ani Dispose nie wywoływać Close połączenia, elementu DataReader ani żadnego innego zarządzanego obiektu w Finalize metodzie klasy. W finalizatorze należy wydać tylko niezarządzane zasoby, które są właścicielem klasy bezpośrednio. Jeśli klasa nie jest właścicielem żadnych niezarządzanych zasobów, nie dołączaj Finalize metody do definicji klasy. Aby uzyskać więcej informacji, zobacz Odzyskiwanie pamięci.

Dotyczy

Zobacz też