Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TpFIBDatabase, поймать Еrror 
:(
    Опции темы
norov
Дата 12.4.2007, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 6.4.2007
Где: Россия, г. Тверь

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



кто-нить отзавитесь! база на FireBerd.
у меня есть такая процедурка:

Код

procedure TForm1.Button1Click(Sender: TObject);
begin
  pFIBDatabase1.DBName := 'c:\DB.gdb' ;
  pFIBDatabase1.Connected := true ;
end;

в pFIBDatabase1  UseLoginPrompt = true при нажатие на Button1 выскакивает окно с полями ввода Юзера и Пароля

Если я ввожу логин но пароль не ввоже он показывает ошибку , жму на отмену показывает ошибку. открываеться код FIB
как можно поймать ошибку чтоб она не показывала код FIB а делала то что я хочу

и когда допустим я ввожу неправильный путь к базе в pFIBDatabase1 чтоб выполнялась проверка еси нет такой базы то вывод моего Messag или какого другого действия


PM MAIL ICQ   Вверх
SergeBS
Дата 12.4.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

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



Способов - море. Например try-except, OnError и т.д. и т.п. Можно проверять наличие файла. Ну по всякому...
PM MAIL   Вверх
norov
Дата 12.4.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 6.4.2007
Где: Россия, г. Тверь

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



Цитата(SergeBS @ 12.4.2007,  12:33)
Способов - море. Например try-except, OnError и т.д. и т.п. Можно проверять наличие файла. Ну по всякому...

знаю что существует такое 
Код

 {$I-} 

открытие файла для записи
{$I+}
 if IOResult<> 0 then


а есть что-нить такое же в  pFIBDatabase?
PM MAIL ICQ   Вверх
SergeBS
Дата 12.4.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

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



Набери try, нажми F1. Прочитай.  Для начала.
PM MAIL   Вверх
norov
Дата 13.4.2007, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 6.4.2007
Где: Россия, г. Тверь

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



Цитата(SergeBS @ 12.4.2007,  15:08)
Набери try, нажми F1. Прочитай.  Для начала.

зашибись! если бы у меня была докуметашка по pFIBDatabase, я бы не спрашивал! пасибо за "помощь". :( 
PM MAIL ICQ   Вверх
Vas
Дата 13.4.2007, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Цитата(norov @  13.4.2007,  09:57 Найти цитируемый пост)
зашибись! если бы у меня была докуметашка по pFIBDatabase, я бы не спрашивал! пасибо за "помощь". :( 

А причем тут pFIBDatabase, говорят же прочитать про TRY, а на него справка есть в дельфи. Вот с помощью него и лови свои ошибки.
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
  try  
    pFIBDatabase1.DBName := 'c:\DB.gdb' ;
    pFIBDatabase1.Connected := true ;
  except
      on E:Exception do ShowMessage('Блин, какая-то ошибка');
  end;
end;

А когда прогу будешь запускать без дельфей никто у тебя в код pFIBDatabase прыгать не будет.


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
SergeBS
Дата 13.4.2007, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

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



norov, 
1. Доки надо читать. 
2. Я по простоте своей предполагаю что help Delphi у всех вопрошающих работает.
Продолжаем smile FileExists - F1. Перед попыткой подключения может быть полезен.
PM MAIL   Вверх
Akella
Дата 13.4.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(norov @  13.4.2007,  09:57 Найти цитируемый пост)
зашибись! если бы у меня была докуметашка по pFIBDatabase, я бы не спрашивал! пасибо за "помощь". :(  

так скачай на www.devrace.com
PM MAIL   Вверх
Alex
Дата 14.4.2007, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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



Цитата(SergeBS @  13.4.2007,  14:54 Найти цитируемый пост)
Продолжаем smile FileExists - F1. Перед попыткой подключения может быть полезен. 

угу, много вы проверите через FileExists при работе с сервером БД при том, что путь до базы указывается в контексте путей машины сервера, а приложение может быть запущено в обще с другой машины smile 

Это сообщение отредактировал(а) Alex - 14.4.2007, 12:50


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex
Дата 14.4.2007, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

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



Код

uses
  IB_ErrorCodes
  ;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    pFIBDatabase1.Connected:= True;
  except
    on e: EFIBError do begin
      if e.IBErrorCode = isc_login then
        ShowMessage('Логин и пароль не верный')
      else if e.IBErrorCode = 0 then
        ShowMessage('Пользователь нажал Cancel')
      else
        raise;
    end;
  else
    raise;
  end;
end;



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0533 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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