За бъдещите читатели на този въпрос:имайте предвид, че проблемът е възникнал, защото OP връща твърде много колони в заявката. Вижте коментарите под този отговор.
Не съм съвсем сигурен защо се случва това, но наистина трябва да проверите за редове само веднъж, а не два пъти, и Read()
метод вече прави това.
Така че всичко, от което наистина се нуждаете, е
while (reader.Read())
{
// Do your thing
}