Я обычно использую 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
, это возможно?