Đây là nơi bạn đang làm sai:
cmd.ExecuteNonQuery();
Bạn là thực hiện một truy vấn.
Bạn cần ExecuteReader
hoặc ExecuteScalar
thay vì. ExecuteReader được sử dụng cho tập kết quả (một số hàng / cột), ExecuteScalar khi truy vấn trả về một kết quả duy nhất (nó trả về đối tượng , vì vậy kết quả cần được ép kiểu chính xác).
var result = (int)cmd.ExecuteScalar();
kết quả biến bây giờ sẽ giữ một OledbDataReader
hoặc một giá trị có kết quả của SELECT . Bạn có thể lặp lại kết quả (đối với người đọc) hoặc giá trị vô hướng (đối với đại lượng vô hướng).