Поиск:

Ответ в темуСоздание новой темы Создание опроса
> правильно обрабатываю ошибки? 
:(
    Опции темы
Aprol
Дата 10.10.2007, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 15.6.2007

Репутация: нет
Всего: нет



Код

try
  form1.base.Open;

except
 on e:exception do
   if pos('Your user name',e.Message)<>0 then
       showmessage('Неверный пользователь')
    else
          showmessage('Ошибка подключения к базе данных');
 end;

При коннекте к базе класс ошибки один EIBInterBaseError.
Делаю проверку ошибки:нет подключения к серверу и неверный логин/пароль.
Правильно я делаю?
PM MAIL   Вверх
Rodman
Дата 10.10.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



вот так я делаю конект, только к Access
Код

    try
      ADOConnection.Close();
      ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Maximus.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password='+PassEdt.Text;
      ADOConnection.Open();
    except
      on E: Exception do
      begin
       ShowMessage(e.Message);
       Exit;
      end;
    end;

Цитата(Aprol @  10.10.2007,  14:21 Найти цитируемый пост)
Делаю проверку ошибки:нет подключения к серверу и неверный логин/пароль.

как?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Deniz
Дата 11.10.2007, 05:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Немного дополню код:
Код

try
  form1.base.Open;
except
  on e:exception do 
  begin
    if pos('Your user name', e.Message)<>0 then
      s:='Неверный пользователь'
    else
      s:='Ошибка подключения к базе данных';
    s:=s + #13#13 + e.Message;
    showmessage(s);
  end;
end;

Все таки оригинальный текст ошибки тоже надо выводить, а то получишь 'Ошибка подключения к базе данных' и думай, что там случилось.
Лучше сделать не ShowMessage, а свою форму с кнопкой "Подробно" и показывающимся/скрывающимся Memo.
В Memo запихать все нужные поля из E:Exception(или EIBInterBaseError), в простом случае E.Message.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Aprol
Дата 12.10.2007, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 15.6.2007

Репутация: нет
Всего: нет



Я уже спрашивал, но спрошу еще.
Где можно взять описание ошибок на русском и сообщения на английском которые выдаются при ошибке?
Например неверное имя или пароль-Your user name... и т.д.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0851 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.