PG и сообщения об ошибках

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Закрыто
raMZES
Сообщения: 30
Зарегистрирован: Ср 14 сен 2011 10:49

PG и сообщения об ошибках

Сообщение raMZES » Ср 15 мар 2017 19:12

Добрый вечер.
Подскажите пожалуйста, как в UniDAC получить DETAIL информацию об ошибке?

Как пример:
Изображение

Спасибо.

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Re: PG и сообщения об ошибках

Сообщение AndreyZ » Пт 17 мар 2017 12:10

В UniDAC детали ошибки, которую генерирует PostgreSQL можно получить из св-ва EPgError.DetailMsg. Чтобы использовать EPgError, добавьте юнит PgErrorUni в раздел uses. Например:

Код: Выделить всё

uses ..., PgErrorUni;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    UniQuery1.SQL.Text := 'INSERT INTO displayscale_table(displayscale_scale) VALUES (1)';
    UniQuery1.ExecSQL;
  except
    on E: EUniError do begin
      if (E.InnerError is EPGError) then
       ShowMessage('DETAIL: ' + EPgError(E.InnerError).DetailMsg);
    ...
    end;
  end;
end;

raMZES
Сообщения: 30
Зарегистрирован: Ср 14 сен 2011 10:49

Re: PG и сообщения об ошибках

Сообщение raMZES » Пт 17 мар 2017 18:36

Спасибо большое.

Закрыто