다음 중 올바른 두 가지 예는 무엇입니까? 나는이 발견"using"문에서 SqlDataReader를 사용해야합니까?
은 MSDN에서 (또는 어느 쪽이 더 나은 내가 사용해야합니다) :
private static void ReadOrderData(string connectionString)
{
string queryString = "SELECT OrderID, CustomerID FROM dbo.Orders;"
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
connection.Open();
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 static void ReadOrderData(string connectionString)
{
string queryString = "SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand(queryString, connection))
{
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
// Call Read before accessing data.
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1]));
}
}
}
}
}
을 질문은 : SqlCommand
과 SqlDataReader
에도 using
문을 사용해야합니까, 아니면 코드 블록 SqlConnection
using
코드 블록 끝에 자동으로 처리해야합니까?
가능한 [SqlDataReader를 수동으로 닫고 처리해야합니까?] (http://stackoverflow.com/questions/744051/is-it-necessary-to-manually-close-and-dispose-of- –
관련 항목 : [DataReader를 닫을 때 "using"문을 닫으면 닫습니까?] (http://stackoverflow.com/q/2157276/456814). –