ExecuteXmlReader и null Resultset выдает исключение TargetInvocationException - PullRequest
0 голосов
/ 02 марта 2009

Я вызываю хранимую процедуру в базе данных SQL Server 2005, которая возвращает набор результатов XML. Иногда он возвращает нулевой набор результатов, потому что нет строк для возврата. Когда это происходит, метод ExecuteXmlReader создает исключение TargetInvocationException. Кажется, это известная проблема (см .: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/5e90e3c0-605b-406d-848a-dea7b16f458e/).
Как лучше всего справиться с этим исключением?

1 Ответ

1 голос
/ 03 марта 2009

Я могу придумать 3 варианта

  1. Изменить хранимую процедуру , чтобы вернуть фиктивное / пустое значение
  2. Изменить код - перехватить исключение и ничего не делать - или зарегистрировать ошибку
  3. Использовать DataSet - Вы должны получить пустой DataSet, поэтому просто проверьте, пуст ли DataSet или нет.

В качестве связанного сообщения SO для третьего выбора, вот вопрос SO о том, как проверить, пуст ли DataSet или нет

В C #, как лучше всего проверить, пустой ли набор данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...