Для ExecuteNonQuery
вы будете , как правило, в порядке, пока уровень серьезности достаточно высок;однако будьте осторожны, если вы читаете данные;например, если у вас есть хранимая процедура, которая возвращает несколько сеток и выдает исключение (например) непосредственно перед предпоследним набором результатов, то , если , вы не перебираете данные, которые вы можете никогда не увидетьошибка.
Это связано с тем, что ошибка вводится в поток TDS (а не во внеполосный диапазон).Вам нужно использовать TDS как минимум до ошибки , чтобы ваш код узнал об этом.
Что-то столь же простое, как (в случае IDataReader
):
while (reader.NextResult()) { }
после того, как ваш код потребления гарантирует, что вы используете весь входящий поток TDS.