I´am using Zeos8 from git repo with Lazarus 3.
Since starting using zeos8, I dont know why, but when I prepare my querys, if statement is wrong (sintax, field, whatever) never trigger an exception, prepare always is fine, exception will appear only when execute it.
Is there any option to turn on exceptions on prepare method?
Sample:
Code: Select all
q1:=TZQuery.Create(nil);
q1.Connection:=AConn;
q1.ParamCheck:=true;
(...)
q1.SQL.Clear;
q1.SQL.add('SELECT ');
q1.SQL.add(' ret_nf_chave,');
q1.SQL.add(' ret_item,');
q1.SQL.add(' this_field_not_exists '); // make an exception
q1.SQL.add('FROM SET_NF_RECEB_INICIO (');
q1.SQL.add(' :p_nf_chave,');
q1.SQL.add(' :p_nf_item,');
q1.SQL.add(' :p_avaliacao_embalagem,');
q1.SQL.add(' :p_observacao,');
q1.SQL.add(' :p_evento_tipo,');
q1.SQL.add(' :p_compras_pedido_req,');
q1.SQL.add(' :p_almox_controle_req,');
q1.SQL.add(' :p_recto_por,');
q1.SQL.add(' :p_recto_dt');
q1.SQL.add(' );');
try
if not q1.Prepared then
q1.Prepare; //prepare without any error
{$IFOPT D+}
q1.SQL.SaveToFile('c:\temp\SET_NF_RECEB_INICIO.sql');
{$ENDIF}
except
on e:exception do Result:=e.message;
end;