SqlDataReader.Close Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Закрывает объект SqlDataReader.
public:
override void Close();
public override void Close ();
override this.Close : unit -> unit
Public Overrides Sub Close ()
Реализации
Примеры
В следующем примере создаются SqlConnection, и SqlCommandSqlDataReader. Пример считывает данные, записывая их в окно консоли. Затем код закрывает SqlDataReader. Автоматически SqlConnection закрывается в конце using
блока кода.
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();
}
}
}
}
}
Комментарии
Необходимо убедиться, Close что метод вызывается при использовании SqlDataReader , прежде чем использовать связанный SqlConnection для любой другой цели. Метод Close
можно вызывать напрямую или с помощью Dispose
метода , непосредственно или в контексте блока операторов using .
Метод Close
заполняет значения выходных параметров, возвращаемых значений и RecordsAffected
в , SqlDataReader за счет использования всех ожидающих результатов. Эта операция может быть длительной в зависимости от объема используемых данных. Если выходные значения, возвращаемые значения и RecordsAffected
не важны для приложения, время закрытия может быть сокращено путем вызова Cancel метода связанного SqlCommand объекта перед вызовом Close
метода .
Внимание!
Не вызывайте Close
метод connection Dispose
, DataReader или любой другой управляемый объект в методе Finalize
класса . В средстве завершения следует освобождать только неуправляемые ресурсы, которыми ваш класс владеет напрямую. Если класс не владеет какими-либо неуправляемыми ресурсами, не включайте в его определение метод Finalize
. Дополнительные сведения см. в статье Сборка мусора.