Я обычно использую DataSet
, т.к. он очень гибкий. Недавно мне поручили задачу оптимизации кода. Чтобы уменьшить количество попаданий в базу данных, я меняю два запроса в процедуре. один запрос возвращает count
, а другой возвращает actual data
. То есть My stored procedure
возвращает две таблицы. Теперь я знаю, как читать обе таблицы, используя DataSets
, но мне нужно читать обе таблицы, используя DataReader
. В поисках этого я нашел Это.
Я следую статье и написал свой код следующим образом:
dr = cmd.ExecuteReader();
while (dr.Read())
{
}
if (dr.NextResult()) // this line throws exception
{
while (dr.Read())
{
Но я получаю исключение в dt.NextResult. Исключение:
Invalid attempt to call NextResult when reader is closed.
Я также гуглил выше ошибку, но все еще не смог решить проблему. Любая помощь будет высоко ценится. Мне нужно прочитать несколько таблиц, используя datareader
, возможно ли это?