2010-12-15 1 views
0

Я использую ADO для чтения и записи базы данных из приложения VB6. Естественно, доступ к базе данных может возвращать ошибки. В настоящее время я отображаю сообщение об ошибке методом, заимствованным здесь http://www.devx.com/tips/Tip/13483, но я хотел бы, чтобы в моем коде действовать по-разному в зависимости от того, является ли ошибка нарушением ограничения индекса, нарушение ограничения столбца, запуск триггера и т. Д.Как отличить ошибки базы данных ADO в VB6

Буду ли я быть в поиске части номера первой ошибки в коллекции? Или последнее?

И кто-нибудь знает, где я могу найти список номеров ошибок, используемых здесь?

ответ

0

Более тщательное изучение возвращенной структуры данных показывает, что у нее есть член .SQLState, который содержит то, что я ищу. Извиняюсь перед Дэном и системным путём за то, что они не замечали этого раньше.

2

ErrorValueEnum указывает тип ошибки времени выполнения ADO со списком кодов ошибок ADO.

+0

спасибо, systempuntoout. Это тип списка, который я ищу, но мне действительно нужен тот, который можно назвать «логическими» ошибками базы данных, а не более «механическими». – 2010-12-15 15:41:35

1

No, Err.Number будет содержать только ошибку с точки зрения ADO. Внутренние ошибки базы данных зависят от базы данных. Например, в Oracle почти все ошибки, которые вам нужны, соответствуют шаблону ORA-(\d{5}), и вы можете получить это значение из Err.Description, чтобы узнать точный код ошибки.

 Смежные вопросы

  • Нет связанных вопросов^_^