SqlDataReader.Close Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cierra el objeto SqlDataReader.
public:
override void Close();
public override void Close();
override this.Close : unit -> unit
Public Overrides Sub Close ()
Implementaciones
Ejemplos
En el ejemplo siguiente se crea un SqlConnectionobjeto , y SqlCommand.SqlDataReader En el ejemplo se leen los datos y se escribe en la ventana de la consola. A continuación, el código cierra .SqlDataReader
SqlConnection Se cierra automáticamente al final del using
bloque de código.
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();
}
}
}
}
}
Comentarios
Debe asegurarse de que se llama al Close método cuando se usa antes SqlDataReader de usar el asociado SqlConnection para cualquier otro propósito. El Close
método puede llamarse directamente o a través del Dispose
método, desechando directamente o en el contexto del bloque de instrucciones using .
El Close
método rellena los valores de los parámetros de salida, los valores devueltos y RecordsAffected
en mediante el SqlDataReader consumo de los resultados pendientes. Puede ser una operación larga en función de la cantidad de datos que se van a consumir. Si los valores de salida, los valores devueltos y RecordsAffected
no son importantes para la aplicación, el tiempo de cierre se puede acortar llamando al Cancel método del objeto asociado SqlCommand antes de llamar al Close
método .
Precaución
No llame a Close
o Dispose
en una conexión, un Objeto DataReader o cualquier otro objeto administrado en el método de la Finalize
clase . En un finalizador, solo debe liberar recursos no administrados que su clase posee directamente. Si la clase no dispone de recursos no administrados, no incluya un método Finalize
en la definición de clase. Para obtener más información, consulte Recolección de elementos no utilizados.