SQLdb; how to get errormessage from exesql by running without debugging. lazarus / 16-Databases ---------------------------------------------------------------------- mangakissa · 2020-04-23 09:38 Regarding to this post. If the debugger gives an error back from the database server, it should also possible to get this error without debug? This code doesn't give me the right message back. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TDBdeelnemeredit.SaveToDatabase;begin    try      fSQLQuery.SQL.text := 'insert into table values (:val1, :val2)'      fSQLQuery.ParamByName('val1').AsInteger := 1;      fSQLQuery.ParamByName('val2').AsInteger := 1;      fSQLQuery.ExecSQL;      dberror := fSQLQuery.RowsAffected = -1;      if dberror then      fSQLTransaction.Rollback      else        fSQLTransaction.commit;    except      fSQLTransaction.Rollback;      dberror := true    end;end;                        If rowsaffected = -1 a database error has occurred. But which one? Linking fSQLQuery.OnPostError to an own procedure is possible, but will never fired. ---------------------------------------------------------------------- gsa · 2020-04-23 14:35 Quote from: mangakissa on April 23, 2020, 11:38:03 amRegarding to this post. If the debugger gives an error back from the database server, it should also possible to get this error without debug? This code doesn't give me the right message back. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TDBdeelnemeredit.SaveToDatabase;begin    try      fSQLQuery.SQL.text := 'insert into table values (:val1, :val2)'      fSQLQuery.ParamByName('val1').AsInteger := 1;      fSQLQuery.ParamByName('val2').AsInteger := 1;      fSQLQuery.ExecSQL;      dberror := fSQLQuery.RowsAffected = -1;      if dberror then      fSQLTransaction.Rollback      else        fSQLTransaction.commit;    except      fSQLTransaction.Rollback;      dberror := true    end;end;                        If rowsaffected = -1 a database error has occurred. But which one? Linking fSQLQuery.OnPostError to an own procedure is possible, but will never fired. The following is one solution: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TDBdeelnemeredit.SaveToDatabase;var errortext : string;begin    dberror := false;    try      fSQLQuery.SQL.text := 'insert into table values (:val1, :val2)'      fSQLQuery.ParamByName('val1').AsInteger := 1;      fSQLQuery.ParamByName('val2').AsInteger := 1;      fSQLQuery.ExecSQL;      fSQLTransaction.commit;    except      on e : Exception do      begin      fSQLTransaction.Rollback;      errortext := e.Message;      dberror := true      end;    end;end;       Gerd ---------------------------------------------------------------------- mangakissa · 2020-04-24 10:08 So Simple. Thanks gsa