SqlDataReader.Close Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SqlDataReader Nesneyi kapatır.
public:
override void Close();
public override void Close();
override this.Close : unit -> unit
Public Overrides Sub Close ()
Uygulamalar
Örnekler
Aşağıdaki örnek bir SqlConnection, SqlCommandve SqlDataReaderoluşturur. Örnek, konsol penceresine yazarak verileri okur. Kod daha sonra öğesini SqlDataReaderkapatır.
SqlConnection, kod bloğunun using sonunda otomatik olarak kapatılır.
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();
}
}
}
}
}
Açıklamalar
başka bir amaçla ilişkili SqlConnection kullanmadan Close önce yöntemini kullanırken SqlDataReader yönteminin çağrıldığından emin olmanız gerekir.
Close Yöntemi doğrudan veya yöntemi aracılığıyla Dispose çağrılabilir, doğrudan veya using deyimi bloğu bağlamında yok.
Close yöntemi, çıkış parametreleri için değerleri doldurur, bekleyen sonuçları kullanarak ve RecordsAffected üzerindeki SqlDataReader değerlerini döndürür. Bu, tüketilecek veri miktarına bağlı olarak uzun bir işlem olabilir. Çıkış değerleri, dönüş değerleri ve RecordsAffected uygulamanız için önemli değilse, yöntem çağrılmadan önce Close ilişkili SqlCommand nesnenin Cancel yöntemi çağrılarak kapanma süresi kısaltılabilir.
Dikkat
Sınıfınızın yönteminde Connection, DataReader veya başka bir yönetilen nesneyi Finalize çağırmayın veya çağırmayın.CloseDispose Sonlandırıcıda yalnızca sınıfınızın doğrudan sahip olduğu yönetilmeyen kaynakları serbest bırakmanız gerekir. Sınıfınız yönetilmeyen kaynaklara sahip değilse, sınıf tanımınıza bir Finalize yöntem eklemeyin. Daha fazla bilgi için bkz . Çöp Toplama.