Udostępnij za pośrednictwem


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

Poniższy przykład tworzy obiekt SqlConnection, , SqlCommandi SqlDataReader. Przykład odczytuje dane, zapisuj je w oknie konsoli. Następnie kod zamyka element 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 , jeśli używasz elementu SqlDataReader , aby użyć elementu skojarzonego SqlConnection 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 elementu używanego do przetwarzania 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ć skrócony przez wywołanie Cancel metody skojarzonego SqlCommand obiektu przed wywołaniem Close metody .

Przestroga

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

Dotyczy

Zobacz też