Eventualmente você precisa logar o conteúdo de uma instrução SQL e esbarra nos parâmetros.
Eis uma rotina que pode lhe ser útil:
function SQLParaLog(Consulta: TIBQuery; SalvarComo: string = ''; AreaTransferencia: Boolean = True): string;
var
i : Integer;
r : string;
arq : TStringList;
begin
Result := Consulta.SQL.Text;
for i := 0 to Pred(Consulta.Params.Count) do
begin
case Consulta.Params.Items[i].DataType of
ftString : r := QuotedStr(Consulta.Params[i].AsString);
ftDate : r := QuotedStr(FormatDateTime('mm/dd/yyyy',Consulta.Params[i].AsDate));
ftDateTime : r := QuotedStr(FormatDateTime('mm/dd/yyyy hh:nn:ss',Consulta.Params[i].AsDateTime));
else r := Consulta.Params[i].AsString;
end;
Result := StringReplace(Result,':' + Consulta.Params.Items[i].Name,r,[rfReplaceAll,rfIgnoreCase]);
end;
if (Length(SalvarComo) > 0) then
begin
arq := TStringList.Create;
arq.Text := Result;
arq.SaveToFile(SalvarComo);
FreeAndNil(arq);
end;
if (AreaTransferencia) then
begin
Clipboard.AsText := Result;
end;
end;