それぞれが複数の行を持つ複数の ResultSet を処理する方法は? への呼び出しNextResult()
は while ループを中断します。
一部の SP は複数の ResultSet を返します。私はこれらを処理してNextResult()
いますが、SP に ResultSet が 1 つしかない場合、Read() を使用した while ループが終了し、最初の行だけが残ります。
への呼び出しがなければ、NextResult()
最初の ResultSet のすべての行を取得しますが、もちろん 2 番目以降の ResultSet は処理されませんか?
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
}
}