Przechwytywanie komunikatów o błędzie

0

Witam,
chciałbym przechwycić komunikat o błędzie wykonywania jakiegoś polecenia SQL. Np wywala błąd o nieznanej koumnie "Column unknow DUPA At line1, Column 13' " a następnie "Attempt to execute an unprepared dynamic SQL statement"
Ten drugi komunikat jestem jak najbardziej w stanie przechwycić np takim kodem:

  try
 baza.Dane.SQLtmp.Close;
 baza.Dane.SQLtmp.SQL.Clear;
 baza.Dane.SQLtmp.SQL.Add('select dupa from klient');
 baza.Dane.SQLtmp.Open;

  except
    on E : Exception do
     begin

       glowny.ostrzezenie(E.Message);

     end;

i wyświetli mi tu komunikat i nieudanej próbie wykonania sql w messageboxu, ale ja chciałbym przechwycić ten pierwszy by wiedzieć co dokładnie powoduje błąd w aplikacji. Korzystam obecnie z Delphi 2010 ewentualnie XE2

Proszę o pomoc i jakieś rady
Pozdrawiam

0

To najprawdopodobniej będzie coś w stylu

try
  baza.Dane.SQLtmp.Close;
  baza.Dane.SQLtmp.SQL.Clear;
  baza.Dane.SQLtmp.SQL.Add('select dupa from klient');
  baza.Dane.SQLtmp.Open;

  TekstBledu := baza.Dane.SQLtmp.ErrorCode;
  //...

Spróbuj wpisać

baza.Dane.SQLtmp.

(KROPKA NA KOŃCU). Delphi powinno wyświetlić listę dostępnych procedur i funkcji. Znajdź taką która wygląda jak kod błędu np "ErrorCode", "Error", "ErrorMessage".

Więcej byłbym w stanie powiedzieć gdybyś powioedział z jakiej biblioteki korzystasz?

0

Niestety moje TIbQuery nie posiada podobnych właściwości.

0

Tak Firebird 2.5

0

Spróbuj:

on E: EIBError do

1 użytkowników online, w tym zalogowanych: 0, gości: 1