SqlDataReader.Close Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
SqlDataReader Zavře objekt.
public:
override void Close();
public override void Close ();
override this.Close : unit -> unit
Public Overrides Sub Close ()
Implementuje
Příklady
Následující příklad vytvoří SqlConnection, SqlCommanda .SqlDataReader Příklad přečte data a zapíše je do okna konzoly. Kód pak zavře .SqlDataReader Objekt SqlConnection se automaticky zavře na konci using
bloku kódu.
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();
}
}
}
}
}
Poznámky
Musíte zajistit, aby byla Close metoda volána, když používáte před použitím SqlDataReader přidruženého SqlConnection pro jakýkoli jiný účel. Metoda Close
může být volána buď přímo, nebo prostřednictvím Dispose
metody, a to přímo nebo v kontextu bloku příkazů using .
Metoda Close
naplní hodnoty výstupních parametrů, návratových hodnot a RecordsAffected
na hodnotě tím, že SqlDataReader spotřebuje všechny čekající výsledky. Může se jednat o dlouhou operaci v závislosti na množství dat, která se mají spotřebovat. Pokud výstupní hodnoty, návratové hodnoty a RecordsAffected
nejsou pro vaši aplikaci důležité, může být doba uzavření zkrácena voláním Cancel metody přidruženého SqlCommand objektu před voláním Close
metody.
Upozornění
Nevolejte Close
ani Dispose
na Připojení, DataReader ani žádný jiný spravovaný objekt v Finalize
metodě vaší třídy. V finalizátoru byste měli uvolnit pouze nespravované prostředky, které vaše třída vlastní přímo. Pokud vaše třída nevlastní žádné nespravované prostředky, nezahrnujte metodu Finalize
do definice třídy. Další informace najdete v tématu Uvolňování paměti.