Как обрабатывать несколько 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
}
}