How to handle multiple ResultSets, each with multiple Rows?
The call to NextResult()
breaks the while loop.
Some of my SPs return multiple ResultSets. I
You need to create two nested loops.
NextResult
at the endRead
at the beginning.Something like:
using (IDataReader reader = ...) {
// Process all result sets
do {
// Process all elements in the current result set
while (reader.Read()) {
ArrayList row = new ArrayList();
for (int j = 0; j < reader.FieldCount; ++j) {
object rowValue = reader.GetValue(j);
row.Add(rowValue);
}
// TODO: Do something with 'row'
}
} while (reader.NextResult())
}