Đối với những độc giả tương lai của câu hỏi này:hãy lưu ý rằng sự cố xảy ra do OP đang trả về quá nhiều cột trong truy vấn. Xem các bình luận bên dưới câu trả lời này.
Tôi không chắc tại sao điều này lại xảy ra, nhưng bạn thực sự chỉ cần kiểm tra các hàng một lần, không phải hai lần và Read()
phương pháp này đã thực hiện điều này.
Vì vậy, tất cả những gì bạn thực sự cần là
while (reader.Read())
{
// Do your thing
}