[C#] Разница между SqlDataReader.Read и SqlDataReader.NextResult



Answers

Не строго ответ на этот вопрос, но если вы используете метод DataTable.Load для использования данных от читателя, а не Reader. Обратите внимание, что после того, как метод Load завершился, читатель теперь помещается в начало следующего результирующего набора, поэтому вы не должны вызывать метод NextResult, иначе вы пропустите следующий набор результатов.

Простой цикл на Reader.HasRows вокруг вызова DataTable.Load - это все, что вам нужно для обработки потенциальных множественных результирующих наборов в этом сценарии.

Question

В чем основное отличие этих двух методов? На веб-сайте msdn это объясняется, как показано ниже, но я этого не понимаю.

Read Переход к SqlDataReader к следующей записи. (Переопределяет DbDataReader.Read ().)

NextResult считыватель данных к следующему результату при чтении результатов пакетных операторов Transact-SQL. (Переопределяет dbDataReader.NextResult ().)




Links