SqlDataReader.Close Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Schließt das SqlDataReader-Objekt.
public:
override void Close();
public override void Close ();
override this.Close : unit -> unit
Public Overrides Sub Close ()
Implementiert
Beispiele
Im folgenden Beispiel werden ein SqlConnection, ein SqlCommandund ein SqlDataReadererstellt. Im Beispiel werden die Daten gelesen und in das Konsolenfenster geschrieben. Der Code schließt dann die SqlDataReader. Wird SqlConnection automatisch am Ende des using
Codeblocks geschlossen.
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();
}
}
}
}
}
Hinweise
Sie müssen sicherstellen, dass die Close -Methode aufgerufen wird, wenn Sie die verwenden, SqlDataReader bevor Sie die zugeordnete SqlConnection für einen anderen Zweck verwenden. Die Close
-Methode kann entweder direkt oder über die Dispose
-Methode aufgerufen werden und direkt oder im Kontext des using-Anweisungsblocks veräußert werden.
Die Close
-Methode füllt die Werte für Ausgabeparameter, Rückgabewerte und RecordsAffected
für auf, SqlDataReader indem alle ausstehenden Ergebnisse verwendet werden. Dies kann ein langer Vorgang sein, abhängig von der Menge der zu verbrauchenden Daten. Wenn Ausgabewerte, Rückgabewerte und RecordsAffected
für Ihre Anwendung nicht wichtig sind, kann die Zeit zum Schließen verkürzt werden, indem die Cancel Methode des zugeordneten SqlCommand Objekts aufgerufen wird, bevor die Close
Methode aufgerufen wird.
Achtung
Rufen Close
Sie keine Dispose
Connection, einen DataReader oder ein anderes verwaltetes Objekt in der Finalize
-Methode Ihrer -Klasse auf oder auf. In einem Finalizer sollten Sie nur nicht verwaltete Ressourcen freigeben, die ihre Klasse direkt besitzt. Wenn die Klasse keine nicht verwalteten Ressourcen besitzt, definieren Sie in der Klasse keine Finalize
-Methode. Weitere Informationen finden Sie unter Garbage Collection.