Как обрабатывать несколько наборов результатов, каждый из которых содержит несколько строк? IDataReader.NextResult () с завершением Read ()

Как обрабатывать несколько ResultSet, каждый с несколькими строками? Вызов NextResult () прерывает цикл while.

Некоторые из моих SP возвращают несколько ResultSet. Я обрабатываю их с помощью NextResult () , но когда у меня есть только один ResultSet, я вижу, что цикл while с Read () завершается, и мне остается только первая строка.

Без вызов NextResult () Я получаю все строки для первого ResultSet, но, конечно, второй и последующие ResultSets не обрабатываются?

using (IDataReader reader = storedProcedure.ExecuteReader(
    CommandBehavior.CloseConnection, parameterNames as string[], arguments))
{
    while (reader.Read())
    {
        ArrayList row = new ArrayList();
        for (int j = 0; j < reader.FieldCount; ++j)
        {
            object rowValue = reader.GetValue(j);

            row.Add(rowValue);
        }

        reader.NextResult();//next resultset, breaks out of the  while
    }
}
13
задан stop-cran 22 October 2018 в 13:32
поделиться