SqlDataReader.Close Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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, , SqlCommand
i 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.