Fórum Dúvida com o IBSQL #192781

04/11/2003

0

É possível eu pegar o comando SQL de um IBSQL que é enviado para o Banco de dados mesmo quando passado parametrizado?
Ex.:
MinhaString := ´insert into Teste (CodTeste, TesteDsc) values (:Codigo, :Teste)´;
with IBSQL1 do
begin
Clear;
SQL.Add(MinhaString);
ExecQuery;
end;
Gostaria de ver a String completa que é gerada para enviar ao banco pelo Delphi.
Já tentei varios metodos e propriedades do IBSQL, mas não consegui a string completa.
Obs.:A finalidade disto é gerar um log de erro técnico se ocorrer um erro durante a inserção.
Agradeço se alguém puder me ajudar.


Mkoch

Mkoch

Responder

Posts

05/11/2003

Moliva

Olá

Eu nunca tinha feito, mas fiz uns testes e acho que achei uma solução:

É preciso utilizar, além dos componetes normais de uma conexão Interbase, um IBSQLMonitor (normalmente paleta Interbase).

Adicione um memo para testar, vá até o evento onSql e digite algo parecido com isto :

[color=blue:c153ab2e20]Memo1.Lines.Add(EventText + ´ - ´ + DateTimeToStr(EventTime));[/color:c153ab2e20]

Vá até o IBDataBase ->TraceFlags -> tfQExecute ->True
(Teste marcar True em outras opções também)

A minha Query era
[color=blue:c153ab2e20]select * from DEPARTAMENTO
where DEPARTAMENTOID=:DEPID[/color:c153ab2e20]

O resultado no Memo será algo assim :

[color=darkblue:c153ab2e20][Application: Project1]
IBQuery1: [Execute] select * from DEPARTAMENTO
where DEPARTAMENTOID=:DEPID
DEPID = 99[/color:c153ab2e20]


espero ter ajudado e aguardo resposta,

[]s
Moliva


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar