Ler sql de uma TQuery

Delphi

02/07/2012

Bom dia

Utilizo uma query com passagem de parâmetros:

Query1.close;
Query1.sql.clear;
Query1.sql.add(insert into cliente (codigo, nome) values (:cd, Eu mesmo));
Query1.parambyname(cd).asinteger := 45;
Query1.execsql;


Até aí tá tranquilo. O que preciso é ler o comando SQL dessa query.
Quando uso Query1.sql.text, este me retorna o comando:

insert into cliente (codigo, nome) values (:cd, Eu mesmo)


Eu preciso com os valores que foram passados por parâmetro, ou seja, ao invés de ler :cd, preciso do valor 45.

Alguém saberia um comando para ler o SQL que foi passado ?

Grato pela atenção.
Hacson Alexandre

Hacson Alexandre

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

02/07/2012

Cara, nesse caso você teria que concatenar o string do SQL.Text, passando diretamente os valores ao invés de parâmetros.
GOSTEI 0
Hacson Alexandre

Hacson Alexandre

02/07/2012

Esqueci de mencionar que utilizo o Zeos para comunicar com o Mysql.
Nesse componente existe o TZSQLMonitor, com ele posso gravar em arquivo todos os comandos sql que forem executados. É como se fosse um histórico de tudo que foi executado pela aplicação.
Não é bem o que eu queria, mas vai dar certo.
O chato é ter que ler e apagar o arquivo com o SQL executado.

Mas obrigado pela dica.
GOSTEI 0
Nbs Ltda

Nbs Ltda

02/07/2012

Eu faço assim com o TQuery, primeiro executo o comando
Parametros(Query);

depois executo o comando

Query.Sql.SaveToFile(C:\vvv.txt);

Ele joga no vvv.txt o comando ja com os parametros, espero que funcione ai.

Vauder Nascimento
NBS - Inovações em Sistemas

GOSTEI 0
POSTAR