如何处理多个ResultSet,每个ResultSet有多个行? IDataReader.NextResult()结束Read()
如何处理多个ResultSet,每个ResultSet有多个行? 对NextResult()
的调用打破了while循环。
我的一些SP返回多个ResultSet。 我正在使用NextResult()
处理这些,但是当我这样做并且我的SP只有一个ResultSet时,我看到带有Read()的while循环完成后只剩下第一行。
如果没有调用NextResult()
我会得到第一个ResultSet的所有行,但当然第二个和后续的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 } }
您需要创建两个嵌套循环。
就像是:
上述就是C#学习教程:如何处理多个ResultSet,每个ResultSet有多个行? IDataReader.NextResult()结束Read()分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
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()) }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1025370.html