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:
override void Close();
public override void Close ();
override this.Close : unit -> unit
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.
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
ReadOrderData(str);
}
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();
}
}
}
}
}
Uwagi
Należy upewnić się, że metoda jest wywoływana Close , gdy używasz elementu przed użyciem SqlDataReader skojarzonego z innymi celami SqlConnection . Metoda Close
może być wywoływana bezpośrednio lub za pośrednictwem Dispose
metody, bezpośrednio lub w kontekście bloku instrukcji using .
Metoda Close
wypełnia wartości parametrów wyjściowych, zwraca wartości i RecordsAffected
na SqlDataReader podstawie, zużywając wszelkie oczekujące wyniki. Może to być długa operacja w zależności od ilości danych, które mają być używane. Jeśli wartości wyjściowe, wartości zwracane i RecordsAffected
nie są ważne dla aplikacji, czas zamknięcia może zostać skrócony przez wywołanie metody skojarzonego SqlCommand obiektu przed Close
wywołaniem Cancel 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.