0

我在返回 XML 结果集的 SQL Server 2005 数据库上调用存储过程。有时它会返回一个空结果集,因为没有要返回的行。发生这种情况时,ExecuteXmlReader 方法会引发 TargetInvocationException。这似乎是一个已知问题(参见:http ://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/5e90e3c0-605b-406d-848a-dea7b16f458e/ )。
处理此异常的最佳方法是什么?

4

1 回答 1

1

我能想到3个选择

  1. 修改存储过程以返回一个虚拟/空值
  2. 修改代码- 捕获异常并且什么都不做 - 或记录错误
  3. 使用DataSet - 你应该得到一个空的 DataSet,所以只需检查 DataSet 是否为空。

作为第三选择的相关 SO 帖子,这里有一个关于如何检查 DataSet 是否为空的 SO 问题

在 C# 中,测试数据集是否为空的最佳方法是什么?

于 2009-03-03T00:42:09.990 回答