Re: OleDb Integrity Constraints Check Error
От: Andrew Merkulov Россия www.ibprovider.com
Дата: 20.09.06 13:17
Оценка: 2 (1)
Здравствуйте, Fortnum, Вы писали:

F>Господа, а как через OleDb в .NET получить ошибку о том, что нарушены правила ссылочной целостности, когда пытаешься удалить, вставить или изменить запись в таблице? Метод OleDbCommand.ExecuteNonQuery для запроса "DELETE FROM MyTable WHERE Id = 137" возвращает 0, но то ли потому, что такой записи с Id = 137 не существует, то ли потому, что нельзя ее удалить, т.к. на нее ссылаются в других таблицах. Как правильно различить эти две ситуации? Он бы хоть эксепшн с номером ошибки поднимал, а как еще?


Вообще-то это зависит от базы данных и ExecuteNonQuery тут не причем. К примеру в Firebird в вашем случае будет сгенерировано исключение.

Попробуйте подписаться на сообщение OleDbConneciton.InfoMessage . Возможно ваш OLE DB провайдер не интерпретирует сообщения от сервера БД как ошибки, а присваивает им более низкий уровень чем требует ADO .Net


Немного обо мне, и моем круге
Мои профиль в LiveLib — книги
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.