Csharp/C#教程:如何处理多个ResultSet,每个ResultSet有多个行? IDataReader.NextResult()结束Read()分享


如何处理多个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

(0)
上一篇 2022年1月8日
下一篇 2022年1月8日

精彩推荐