Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > обработка ошибок от FireBird


Автор: TheCetus 19.5.2006, 12:17
Вроде бы задавал этот вопрос но ничего не нашел через поиск

Вопрос следующий: как обрабатывать в делфе ошибки InterBase/FB 
т.е.

try
  ibdataset.open;
  dsproc.exec;
except on ???: do begin
end; end;

что писать в 'on ???'  ? 

Автор: santilaas 19.5.2006, 14:23
Лови пример - проверка поля на Null (если оставил обязательные поля пустыми).
Код

try
      DM.DataSet.Post;
   except
      on e:Exception do
         begin
           if (AnsiPos('value "*** null ***"', LowerCase(e.Message))>=1) then
              ShowMessage('Не заполнено поле!');
           DM.DataSet.Cancel; //хотя здесь Cancel делать не обязательно - на твоё усмотрение
         end;
   end;

т.е. в if проверяешь по тексту ошибки   

Автор: TheCetus 22.5.2006, 08:39
нашел!

EIBInterBaseError 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)