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.