Đó là vì ExecuteNonQuery
không trả về kết quả của truy vấn, nó chỉ thực thi nó trên máy chủ SQL. Giá trị trả về là số hàng bị ảnh hưởng bởi câu lệnh của bạn, -1 khi câu lệnh không ảnh hưởng đến bất kỳ hàng nào. ExecuteNonQuery
(như tên của nó) không nhằm mục đích trả về kết quả truy vấn, mà là để chạy một câu lệnh thay đổi dữ liệu (chẳng hạn như INSERT, DELETE, UPDATE). Trạng thái tài liệu:
Bạn có thể sử dụng:
count = (int)command.ExecuteScalar();
Để có được số lượng bạn đang tìm kiếm. Ngoài ra còn có một ví dụ trong tài liệu cho ExecuteScalar
.