Pegar somente registros alterados
Estou usando Delphi 7 com SQL2005. Preciso registrar no log todas alterações ocorrida no cadastro de cliente.
Como fazer isso?
Grato, Márcio.
Como fazer isso?
Grato, Márcio.
Marcio Paula
Curtidas 0
Respostas
Vagner Almeida
02/10/2012
Voce pode criar um TMemo em tempo de execução, jogue tudo que precisar dentro dele e salve como arquivo .TXT ou LOG mesmo.
por exemplo:
Obs.: Ignore os pontos "." uso somente para alinhar os códigos.
Toda vez que precisar gravar um log, você chama a procedure assim:
.
.
.
// Salva o texto a ser gravado no log em uma variável, por exemplo
TextoLog := 'Aqui você coloca tudo o que quer salvar em um arquivo .log';
GravarLOG( NomeDoSeuForm , TextoLog );
Espero ter ajudado.
por exemplo:
Obs.: Ignore os pontos "." uso somente para alinhar os códigos.
procedure GravarLOG(Form: TForm; Texto: String;);
var Log: TMemo;
begin
.Log := TMemo.Create(nil);
.Log.Visible := False;
.Log.Parent := Form;
.try
...Log.Clear;
...Log.Lines.Add(Texto);
...Log.Lines.SaveToFile('NomeDoArquivo.log');
.finally
...FreeAndNil(Log);
.end;
end;
Toda vez que precisar gravar um log, você chama a procedure assim:
.
.
.
// Salva o texto a ser gravado no log em uma variável, por exemplo
TextoLog := 'Aqui você coloca tudo o que quer salvar em um arquivo .log';
GravarLOG( NomeDoSeuForm , TextoLog );
Espero ter ajudado.
GOSTEI 0
Deivison Melo
02/10/2012
Já pensou em deixar isso a cargo do banco de dados?
Onde vc criaria uma trigger para fazer tal operação!!
Assim garantindo a precisão das informações e além da segurança, já que é o próprio banco de dados que se encarregará de popular a tabela desejada.
Segue um exemplo no link abaixo (Exemplo com uso do MS SQL Server, banco de dados utilizado por vc):
http://gustavomaiaaguiar.wordpress.com/2010/05/06/como-monitorar-e-logar-as-colunas-que-foram-atualizadas/
Espero ter ajudado!
Forte abraço e bons códigos!!
Onde vc criaria uma trigger para fazer tal operação!!
Assim garantindo a precisão das informações e além da segurança, já que é o próprio banco de dados que se encarregará de popular a tabela desejada.
Segue um exemplo no link abaixo (Exemplo com uso do MS SQL Server, banco de dados utilizado por vc):
http://gustavomaiaaguiar.wordpress.com/2010/05/06/como-monitorar-e-logar-as-colunas-que-foram-atualizadas/
Espero ter ajudado!
Forte abraço e bons códigos!!
GOSTEI 0
Marcio Paula
02/10/2012
Muito obrigado!
Voce pode criar um TMemo em tempo de execução, jogue tudo que precisar dentro dele e salve como arquivo .TXT ou LOG mesmo.
por exemplo:
Obs.: Ignore os pontos "." uso somente para alinhar os códigos.
Toda vez que precisar gravar um log, você chama a procedure assim:
.
.
.
// Salva o texto a ser gravado no log em uma variável, por exemplo
TextoLog := 'Aqui você coloca tudo o que quer salvar em um arquivo .log';
GravarLOG( NomeDoSeuForm , TextoLog );
Espero ter ajudado.
por exemplo:
Obs.: Ignore os pontos "." uso somente para alinhar os códigos.
procedure GravarLOG(Form: TForm; Texto: String;);
var Log: TMemo;
begin
.Log := TMemo.Create(nil);
.Log.Visible := False;
.Log.Parent := Form;
.try
...Log.Clear;
...Log.Lines.Add(Texto);
...Log.Lines.SaveToFile('NomeDoArquivo.log');
.finally
...FreeAndNil(Log);
.end;
end;
Toda vez que precisar gravar um log, você chama a procedure assim:
.
.
.
// Salva o texto a ser gravado no log em uma variável, por exemplo
TextoLog := 'Aqui você coloca tudo o que quer salvar em um arquivo .log';
GravarLOG( NomeDoSeuForm , TextoLog );
Espero ter ajudado.
GOSTEI 0
Marcio Paula
02/10/2012
Muito obrigado!
Já pensou em deixar isso a cargo do banco de dados?
Onde vc criaria uma trigger para fazer tal operação!!
Assim garantindo a precisão das informações e além da segurança, já que é o próprio banco de dados que se encarregará de popular a tabela desejada.
Segue um exemplo no link abaixo (Exemplo com uso do MS SQL Server, banco de dados utilizado por vc):
http://gustavomaiaaguiar.wordpress.com/2010/05/06/como-monitorar-e-logar-as-colunas-que-foram-atualizadas/
Espero ter ajudado!
Forte abraço e bons códigos!!
Onde vc criaria uma trigger para fazer tal operação!!
Assim garantindo a precisão das informações e além da segurança, já que é o próprio banco de dados que se encarregará de popular a tabela desejada.
Segue um exemplo no link abaixo (Exemplo com uso do MS SQL Server, banco de dados utilizado por vc):
http://gustavomaiaaguiar.wordpress.com/2010/05/06/como-monitorar-e-logar-as-colunas-que-foram-atualizadas/
Espero ter ajudado!
Forte abraço e bons códigos!!
GOSTEI 0