Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > отловить ошибки ADO |
Автор: Teleport 16.11.2009, 21:06 | ||
Есть бд, сделанная в Access. Как отловить ошибки, возникающие при sql-запросах к ней?
Интересует отловить попытку создания таблицы с именем уже существующей таблицы. И вообще где прочитать о классификации ошибок, возникающих при запросах к бд. |
Автор: Teleport 16.11.2009, 22:55 |
2 Данкинг - какими обычными? Как проверить? |
Автор: Данкинг 16.11.2009, 23:11 | ||
![]() |
Автор: former 16.11.2009, 23:13 |
Teleport, а как на счет try except? Пардон, не внимательно прочитал пост. |
Автор: Teleport 16.11.2009, 23:20 |
2 Данкинг - вот оно как. Это решение, причем незамороченое. Согласен. Спасибо. 2 former - а вот как же с try except отловить, не знаю даже какой класс ошибок возникает. Благодарен буду за ответ. |
Автор: former 16.11.2009, 23:21 | ||
Может http://office.microsoft.com/ru-ru/access/default.aspx поискать? |
Автор: Данкинг 16.11.2009, 23:33 |
Teleport, на здоровье. ![]() ![]() |
Автор: Teleport 17.11.2009, 00:34 |
2 former - ничего путного не удается найти... ![]() |
Автор: Deniz 17.11.2009, 06:22 | ||
Teleport, посмотри сам, что находится в переменой E в разных ситуациях
|
Автор: Акимыч 17.11.2009, 14:13 |
Наверно или EADOError или EDatabaseError |
Автор: Teleport 17.11.2009, 19:01 |
2 Deniz - не понял как увидеть-то что там находится? Через Messages с ошибками? Или как? 2 Акимыч В DRKB есть раздел про базы данных, а в нем подраздел - про работу с ADO. Там в примере находил как отлавливали EDatabaseError. Но EDatabaseError - по-моему совсем не к созданию таблицы относится... Или это какая-то общая ошибка. А нужно конкретно - ошибка создания таблицы с именем уже существующей таблицы. Ведь если я делаю запрос на создание таблицы с существующем уже именем - бд четко и ясно возвращает ошибку - говорит по-русски - таблица уже существует нельзя такую создать. ![]() |
Автор: Акимыч 18.11.2009, 13:59 |
Верно, все что работает с ADO будет возвращать EOleException, т.к. подключается как ActiveX. Единственный вариант наверно, это проверять перед созданием есть такая таблица или нет как написал Данкинг |
Автор: Teleport 20.11.2009, 15:44 |
2 Акимыч - Нну да, тоже к такому выводу пришел. Самый простой и доступный способ, как я понял - это вариант, как писал Данкинг. И не надо заморачиваться с поиском ошибок. Тему считаю закрытой, спасибо за помощь. ![]() ![]() |