SqlDataReader.Close Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fecha o objeto SqlDataReader.
public:
virtual void Close();
public:
override void Close();
public void Close ();
public override void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
override this.Close : unit -> unit
Public Sub Close ()
Public Overrides Sub Close ()
Implementações
Exemplos
O exemplo a seguir cria um SqlConnection, um SqlCommand
e um SqlDataReader. O exemplo lê os dados, gravando-os na janela do console. Em seguida, o código fecha o SqlDataReader. O SqlConnection é fechado automaticamente no final do using
bloco de código.
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();
}
}
}
}
Private Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
' Call Read before accessing data.
While reader.Read()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
Comentários
Você deve chamar explicitamente o Close método quando estiver usando o SqlDataReader para usar o associado SqlConnection para qualquer outra finalidade.
O Close
método preenche os valores para parâmetros de saída, valores retornados e RecordsAffected
, aumentando o tempo necessário para fechar um SqlDataReader
que foi usado para processar uma consulta grande ou complexa. Quando os valores retornados e o número de registros afetados por uma consulta não são significativos, o tempo necessário para fechar o SqlDataReader
pode ser reduzido chamando o Cancel método do objeto associado SqlCommand antes de chamar o Close
método .
Cuidado
Não chame Close
ou Dispose
em um Connection, um DataReader ou qualquer outro objeto gerenciado no Finalize
método de sua classe. Em um finalizador, você só deve liberar recursos não gerenciados que sua classe possui diretamente. Se a classe não tiver nenhum recurso não gerenciado, não inclua um método Finalize
em sua definição de classe. Para obter mais informações, confira Coleta de lixo.