Как кто-то упомянул в комментарии под вашим постом, убедитесь, что вы получаете эту ошибку в том самом методе, который вы опубликовали, так как он выглядит хорошо для меня. Обычно вы получите эту ошибку, если вы закроете ридер внутри вашего цикла или попытаетесь прочитать его по закрытому соединению БД. Возможно, вы захотите попробовать просто открыть соединение один раз в начале и закрыть его один раз в конце, удаляя имеющуюся у вас проверку открытия-закрытия, хотя это не должно быть проблемой.