Acho que isso resolverá, mas não testei.

function TDM.QueryToLog(Q: TQuery): string;
var
  i: Integer;
  r: string;
begin
  Result := Q.SQL.Text;
  for i := 0 to Q.Params.Count - 1 do
  begin
    case Q.Params.Items[i].DataType of
      ftString, ftDate, ftDateTime: r := QuotedStr(Q.Params[i].AsString);
    else
      r := Q.Params[i].AsString;
    end;
    Result := ReplaceText(Result, ':' + Q.Params.Items[i].Name, r);
  end;
end;

2008/5/9 José Mário Silva Guedes <[EMAIL PROTECTED]>:
>
> Olá amigos!
>
> Estou precisando salvar algumas querys em texto, para fins de log.
>
> Acontece que tiro proveito dos parâmetros. Portanto, quando dou
> "IBQuery1.SQL.SaveToFile('c:\teste.sql')", o resultado é parecido com este:
>
> select * from tabela where (CAMPO1 = :PARAMETRO1)
>
> É possível fazer algo parecido, porém com o :PARAMETRO1 preenchido?
>
> Obrigado e bom fim de semana a todos.
>
> --
> José Mário Silva Guedes
> Analista Programador Delphi
> http://pgviavel.blogspot.com/
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 


--
Timeo hominem unius libri
Cogito ergo sum - Carpe diem

[]s
Guionardo Furlan
http://guionardo.blogspot.com

Responder a