我有一个存储过程返回多个结果集的变量数。如果没有下一个结果集存在,DataReader.NextResult()会给出错误。如何查找下一个结果集是否存在。如果有更多的结果集存储过程返回多个结果集,但结果集的数量不固定
1
A
回答
4
的NextResult()方法返回true - 制作之前检查你的下一个阅读
+0
在dataReader.NextResult()上,我得到错误'dataReader.NextResult()'抛出了一个'System.Data.SqlClient.SqlException'类型的异常bool {System.Data.SqlClient.SqlException}。只有当没有更多结果集时才会出现此错误。 – FrankSmith 2011-02-15 17:18:40
0
(我知道这是旧的文章,但希望这是有帮助的有人)
如果你需要处理未知数量的结果集,你可以这样做以下:
// Need to wrap the while loop in a do-while loop due to the way Read() works versus NextResult().
// Read() moves to the next record, if any, starting with the first record.
// NextResult() moves to the next result set, if any, starting with the second result set (i.e., first result set is used automatically).
do
{
while (mySqlDataReader.Read())
{
// Do some processing here...for example:
var rowValues = new object[mySqlDataReader.FieldCount];
mySqlDataReader.GetValues(rowValues);
foreach (var element in rowValues)
{
myStringBuilder.Append(element).Append(" | ");
}
myStringBuilder.AppendLine();
}
}
while (mySqlDataReader.NextResult());
相关问题
- 1. 返回多个结果集的存储过程
- 2. Oracle查询/存储过程返回多个结果集
- 3. 存储过程返回多个结果集
- 4. 从多个结果集中返回单个结果集
- 5. MySQL - 存储过程不返回结果集
- 6. 从存储过程返回一个结果集
- 7. 存储过程不返回结果
- 8. MS SQL存储过程返回的结果集与ODBC
- 9. 存储过程中的SQL结果集
- 10. 返回多个结果集的查询
- 11. 存储过程是否可以返回结果集?
- 12. 存储过程结果集与返回值
- 13. Oracle存储过程返回分页结果集
- 14. 如何阻止从存储过程返回结果集?
- 15. 为什么NHibernate需要Oracle存储过程返回结果集?
- 16. Apache DbUtils:处理从存储过程返回的多个结果集
- 17. mybatis是否支持返回多于1个结果集的存储过程?
- 18. sql存储过程清除结果集
- 19. 从存储过程得到结果集
- 20. 从存储过程合并结果集
- 21. 返回存储过程的结果sql
- 22. 如何返回多个结果集?
- 23. 如何从groovy运行存储过程,返回多个结果集
- 24. SQL Server JDBC在调用存储过程时返回多个结果集
- 25. WCF从存储过程返回结果
- 26. 具有多个结果集的实体框架存储过程?
- 27. 具有多个结果集的NHibernate存储过程
- 28. iSeries IDB2 - 在存储过程中声明返回结果集的变量
- 29. pymssql执行存储过程,但不返回结果
- 30. 如何将存储过程的多个结果存储到数据集中?
你有什么错误?文档说,如果没有更多的结果集,NextResult方法应该简单地返回false。 – 2011-02-15 02:46:35