Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ловля exceptions в хранимых процедурах / 2 сообщений из 2, страница 1 из 1
09.09.2004, 14:52
    #32687634
babaEGA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловля exceptions в хранимых процедурах
Привет.
Создаю 2 хранимые процедуры. Одна вызывает другую. В обоих генерятся ошибки (с помощью raiserror).

Вопрос.
Почему когда я использую ExecuteReader() (для датаредер) для выполнения моих вложенных процедур, то в коллекции ошибок накапливается только одна ошибка. (самая первая).

Если использовать ExecuteNonQuery - все прекрасно. ДВЕ ошибки.

Кто-нибудь с этим сталкивался? Как мне вернуть обе ошибки, используя ExecuteReader()?
...
Рейтинг: 0 / 0
09.09.2004, 16:44
    #32688040
Eyeless
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ловля exceptions в хранимых процедурах
Привет!
Дело в том, что ExecuteNonQuery() вызывает internal функцию у
SqlCommand, которая выглядит так:
Execute.Reader(CommandBehavior, RunBehavior).
Этот runBehavior недоступен снаружи.
Когда ты вызываешь ExecuteNonQuery(), вызов идет такой:

ExecuteReader(CommandBehavior.Default, RunBehavior.UntilDone), то есть
по-любому батч выполнится до конца, а когда ты вызываешь
ExecuteReader(), вызво выглядит так:
ExecuteReader(CommandBehavior /*нам его могут передать в качестве
параметра, по умолчанию Default*/, RunBehavior.ReturnImmediately), то
есть выход осуществится при первой же ошибке в батче.
RunBehavior также есть internal, так что изменить что-то мне возможным не представляется :(
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ловля exceptions в хранимых процедурах / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]