У меня есть приложение, которое использует OleDB для подключения к базе данных Access. Я пытаюсь создать некоторую обработку ошибок для вставки повторяющихся записей, где есть уникальный индекс.Локальные исключения в OLEDBException -2147467259
Когда эта ошибка выбрасывается, я получаю код ошибки -2147467259 об исключении. Однако другие ошибки также дают одинаковый код ошибки; Например, полная база данных или столбец отсутствуют.
Есть ли способ определить между этими различными ошибками без использования самого сообщения об ошибке, которое, как говорит каждая часть, будет ненадежным.
Я просмотрел .innerexception
, в случае вставки дубликатов нет внутреннего исключения.
Я также посмотрел на свойство .SQLState, похоже, что это старый метод, который действительно не используется в рамках 4.0. Я мог бы применить это, но я, скорее всего, буду использовать ошибку, а не мою желаемую попытку поймать.
Мой код на данный момент:
Try
Sender.cmdOLEDB.ExecuteNonQuery()
Catch ex As OleDbException
End Try
** Поймайте общую ошибку **, затем выполните ** запрос **, чтобы проверить, существует ли другая запись с ** одинаковым идентификатором **. –
@Adriano Ok Я рассмотрю это. По-прежнему кажется, что у меня могут быть проблемы с некоторыми другими ошибками в этом коде. – Pezzzz