Otavio se o q vc quer é fazer 1 log, aqui vai:

coloque o componente MySQLMonitor
e use o campo OnSQL dele......
abaixo 1 exemplo de como uso:
mas veja q o componente ALLtoSTR1 é 1 componente meu, que serve para 
transformar qualquer TIPO valor para STRING e a função MakeAdd, é apenas para 
juntalos todos em 1 só string;

procedure TDM01.MySQLMonitor1SQL(Sender: TObject; Text: String;
  Flag: TDATraceFlag);
var
   totfields, x : Integer;  
   sqlstr : AnsiString;
   
begin
     sqlstr := Copy(UpperCase(Trim(Text)),1,6);
     if ((NOT ('SELECT' = sqlstr)) and 
(Pos(sqlstr,'INSERT|REPLAC|UPDATE|DELETE')>0))  then begin
        sqlstr := Form1.Memo1.Lines.Text;
        totfields := TMyQuery( sender ).FieldCount;
        AllToStr1.ResultString := '';
        AllToStr1.MakeAdd([ 'Begin.TableName.DataBase.Server : ',
                            TMyQuery( Sender ).Name, '.', 
                            TMyQuery( sender ).Connection.Database, '.', 
                            TMyQuery( sender ).Connection.Server ]);
        AllToStr1.MakeAdd([ Form1.StatusBar1.SimpleText ]);
        AllToStr1.MakeAdd([ '[UserName: ', '<username>', '] ',
                            '[ComputerName: ', NetWorkInfo1.ComputerName, '] ',
                            '[IP: ', NetWorkInfo1.IP,']' ]);
        AllToStr1.MakeAdd([ Text ]);
        // add all field´s type´s and old/newvalues...
        for x :=  0 to totfields-1 do 
            if not TMyQuery(Sender).Fields[x].IsNull then  begin
               AllToStr1.MakeAdd([ 
'[FieldName:',TMyQuery(Sender).Fields[x].FieldName,'] ',
                                        
'[Type:',TMyQuery(Sender).Fields[x].ClassType.ClassName,'] ',
                                        
'[Old:=',TMyQuery(Sender).Fields[x].oldvalue,'] ',
                                        
'[New:=',TMyQuery(Sender).Fields[x].newvalue,']' ]);
            end;
        AllToStr1.MakeAdd([ 'End.TableName.DataBase.Server : '+TMyQuery( Sender 
).Name, '.', TMyQuery( sender ).Connection.Database, '.', TMyQuery( sender 
).Connection.Server ]);
        sqlstr := AllToStr1.ResultString;        
        // Form1.Memo1.Lines.Add( AllToStr1.ResultString );
     end;
end;

[]s e boa sorte

Luiz Escobar - Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/ASSEMBLY/MySQL/xBase
SERVIDORES - CNA IntraNetWare4.11, LINUX-(RedHat9/Suse10.2), Windows 2K/XP
HARBOUR 
--------------------------------------------------------------------------
Borland C++ 5.5.1 (32 bit)
Harbour Devel build 1.1-1 Intl.
xHarbour Compile build 1.1.0 (Simplex)
Harbour MiniGUI 1.5 Extended Edition (Build 50a) - 2008.03.31
-------------------------------------------------------------------------------------------


From: Otavio 
Sent: Wednesday, June 11, 2008 7:44 PM
To: delphi-br@yahoogrupos.com.br 
Subject: [delphi-br] Copiar de uma tabela para outra MyDAc app servidora



tenho na aplicação servidora as tabelas fones e fones_log bd MySql e 
MyQuery(coreLab)->DataSetProvider, com os campos iguais.
Como faço para capturar o comando sql para inserir os dados vindos do cliente 
para a tabela fones na tabela fones_log? 

[As partes desta mensagem que não continham texto foram removidas]



 

[As partes desta mensagem que não continham texto foram removidas]

Responder a