DataReader
не извлекает данные сразу, а только начинает читать запись, когда вы вызываете метод Read
.Фактически, метод read продвигает SqlDataReader
к следующей записи, поэтому он возвращает true
, если строк больше;в противном случае false
.
while(dataReader.Read()) // true if there are more rows; otherwise false.
{
// code to run
}
Вы можете прочитать об этом здесь в MSDN .