9
如何處理多個ResultSets,每個都有多行? 對NextResult()的調用打破了while循環。如何處理多個ResultSet,每個都有多行? IDataReader.NextResult()結束閱讀()
我的一些SP返回多個ResultSets。我使用NextResult()來處理這些問題,但是當我這樣做並且我的SP只有一個ResultSet時,我看到帶有Read()的while循環只剩下第一行。
沒有對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
}
}
不錯。 – learnerplates 2010-10-01 15:47:24
這太棒了。我很少遇到過這樣的做法,我甚至忘記它,因此從來沒有想過在看到這個之前使用它。謝謝! – KSwift87 2014-05-02 13:28:46
do/while結構完美的縫合 – pimbrouwers 2016-03-08 22:31:28