2009-03-02 27 views
0

我正在調用返回XML結果集的SQL Server 2005數據庫上的存儲過程。有時它會返回空結果集,因爲沒有要返回的行。發生這種情況時,ExecuteXmlReader方法會引發TargetInvocationException。這似乎是一個已知問題(請參閱:http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/5e90e3c0-605b-406d-848a-dea7b16f458e/)。
處理此異常的最佳方法是什麼?ExecuteXmlReader和null結果集引發TargetInvocationException

回答

1

我能想到的3個選擇

  1. 修改存儲過程返回一個空/空值
  2. 修改代碼 - 捕獲異常,什麼也不做 - 或者記錄錯誤
  3. 使用DataSet - 你應該得到一個空的DataSet,所以只需檢查DataSet是否爲空。

爲所謂張貼第三選擇有關,這裏是一個關於如何檢查SO問題,如果DataSet是空的或不

In C#, what is the best way to test if a dataset is empty?