如何处理多个包含多行的结果集?
调用
如果不调用
调用
NextResult()
可以在多个结果集之间进行切换。然而,当存储过程只返回单个结果集时,使用NextResult()
会导致while循环停止,并且只能读取第一行。如果不调用
NextResult()
,则可以获取第一个结果集中的所有行,但是无法处理后续的结果集。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
}
}