Tôi biết tôi đã hỏi một câu hỏi liên quan trước đó. Tôi chỉ có một suy nghĩ khác.sử dụng trên SQLDataReader
using (SqlConnection conn = new SqlConnection('blah blah'))
{
using(SqlCommand cmd = new SqlCommand(sqlStatement, conn))
{
conn.open();
// *** do I need to put this in using as well? ***
SqlDataReader dr = cmd.ExecuteReader()
{
While(dr.Read())
{
//read here
}
}
}
}
Đối số là: Kể từ khi đối tượng SqlDataReader
dr
là KHÔNG PHẢI LÀ MỘT OBJECT mới như kết nối hoặc lệnh đối tượng, nó chỉ đơn giản là một tham chiếu trỏ đến các phương pháp cmd.ExecuteReader()
, tôi cần phải đưa người đọc bên trong một using
. (Bây giờ dựa trên bài trước của tôi, đó là sự hiểu biết của tôi rằng bất kỳ đối tượng sử dụng IDisposable
cần phải được đặt trong một using
, và SQLDataReader
kế thừa từ IDisposable
, vì vậy tôi cần phải đặt nó. Tôi có đúng trong bản án của tôi?) Tôi chỉ nhầm lẫn vì nó không phải là một đối tượng mới, nó sẽ gây ra bất kỳ vấn đề trong việc xử lý một đối tượng mà chỉ đơn giản là một con trỏ tham chiếu đến lệnh?
Rất cám ơn
"cmd.ExecuteReader" là một loại phương pháp tham khảo. "cmd.ExecuteReader()" (dấu ngoặc thông báo) là một cuộc gọi phương thức. –