我想使用TSQLMonitor组件,但一直没有成功...
在我的OnTrace事件中,我有以下代码:
procedure TForm1.SQLMonitor1LogTrace(Sender: TObject; TraceInfo: TDBXTraceInfo);
begin
memo1.Lines.Add(traceinfo.message);
end;
这个方法也可以,但是在SQL命令中,“我的”值用问号(“?”)表示,我不知道为什么!看一个例子:
INTERBASE - isc_start_transaction
INTERBASE - isc_dsql_allocate_statement
**update "CDSUBPRODUTOS" set
"DATAINCLUSAO" = ?
where
"CDSPRCODIGO" = ? and
"DATAINCLUSAO" = ? and
"DATAALTERACAO" is null and
"CODUSUARIOALTERACAO" = ? and
"CDSPRCODGRUPO" = ? and
"CDSPRSITUACAO" = ? and
"CDSPRDESCRICAO" = ? and
"CDSPRMEDIDA" = ? and
"CDSPRVALOR" = ? and
"CDSPRUTILIZARFORMACAOPRECO_SN" = ?**
INTERBASE - isc_dsql_prepare
INTERBASE - isc_dsql_sql_info
INTERBASE - isc_portable_integer
INTERBASE - isc_dsql_describe_bind
INTERBASE - SQLDialect = 3
INTERBASE - isc_dsql_execute
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_dsql_free_statement
INTERBASE - isc_commit_transaction
我希望这些符号能够被正确的值所替换(在本例中是更改后的值)。我正在使用Delphi XE和Firebird 2.5。
如果有人能帮助我,我将不胜感激!拥抱!