SqlDataReader.Close Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Chiude l'oggetto SqlDataReader.
public:
override void Close();
public override void Close ();
override this.Close : unit -> unit
Public Overrides Sub Close ()
Implementazioni
Esempio
Nell'esempio seguente viene creato un SqlConnectionoggetto , un SqlCommandoggetto e un oggetto SqlDataReader. L'esempio legge i dati, scrivendoli nella finestra della console. Il codice chiude quindi .SqlDataReader L'oggetto SqlConnection viene chiuso automaticamente alla fine del blocco di using
codice.
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();
}
}
}
}
}
Commenti
È necessario assicurarsi che il Close metodo venga chiamato quando si usa prima SqlDataReader di usare l'oggetto associato SqlConnection per qualsiasi altro scopo. Il Close
metodo può essere chiamato direttamente o tramite il Dispose
metodo, eliminando direttamente o nel contesto del blocco di istruzioni using .
Il Close
metodo popola i valori per i parametri di output, i valori restituiti e RecordsAffected
l'oggetto SqlDataReader utilizzando i risultati in sospeso. Può trattarsi di un'operazione lunga a seconda della quantità di dati da utilizzare. Se i valori di output, i valori restituiti e RecordsAffected
non sono importanti per l'applicazione, il tempo di chiusura può essere abbreviato chiamando il Cancel metodo dell'oggetto associato SqlCommand prima che venga chiamato il Close
metodo .
Attenzione
Non chiamare Close
o Dispose
su un oggetto Connection, un DataReader o qualsiasi altro oggetto gestito nel Finalize
metodo della classe. In un finalizzatore è consigliabile rilasciare direttamente le risorse non gestite di proprietà della classe. Se nella classe non sono presenti risorse non gestite, non includere un metodo Finalize
nella relativa definizione della classe. Per altre informazioni, vedere Garbage Collection.