ExecuteNonQuery Method
trả về số (các) hàng bị ảnh hưởng bởi INSERT
, một UPDATE
hoặc DELETE
. Phương thức này được sử dụng để thực hiện các câu lệnh DML (ngôn ngữ thao tác dữ liệu) như đã nêu trước đây.
ExecuteReader Method
sẽ trả về tập hợp kết quả của một SELECT
. Phương pháp này được sử dụng khi bạn đang truy vấn một loạt kết quả, chẳng hạn như các hàng từ bảng, dạng xem, bất cứ thứ gì.
ExecuteScalar Method
sẽ trả về một giá trị duy nhất trong hàng đầu tiên, cột đầu tiên từ SELECT
tuyên bố. Phương pháp này sẽ được sử dụng khi bạn mong đợi chỉ một giá trị từ truy vấn được trả về.
Nói tóm lại, điều bình thường là bạn không có kết quả nào từ SELECT
khi sử dụng ExecuteNonQuery phương pháp. Sử dụng ExecuteReader thay thế. Sử dụng ExecuteReader
, sẽ biết có bao nhiêu hàng được trả về thông qua phiên bản của SqlDataReader
đối tượng được trả lại.
int rows = 0;
if (reader.HasRows)
while (reader.Read())
rows++;
return rows; // Returns the number of rows read from the reader.