SysLogs
Controle de Ações Executadas pelos Usuários
O programa tem o objetivo de gerar um controle de logs de acesso e ações executadas pelos usuários no sistema.
Para este exemplo apliquei uma regra simples para gerar os históricos de ações, mas servirá para os amigos terem uma noção e implementarem da forma que desejar pois este é o meu primeiro Uploader no ClubeDelphi e espero que os colegas apreciem.
Este projeto foi desenvolvido em Delphi 7 + IBX + FB 1.5.
BANCO DE DADOS:
CREATE TABLE SYS_LOGS
(
CD_SYSLOG CODIGO NOT NULL /* CODIGO = INTEGER NOT NULL */,
DT_LOG DATA /* DATA = TIMESTAMP */,
CD_USU CODIGO1 /* CODIGO1 = INTEGER */,
HISTORICO STRING100 /* STRING100 = VARCHAR(100) */
);
ALTER TABLE SYS_LOGS ADD CONSTRAINT PK_SYS_LOGS PRIMARY KEY (CD_SYSLOG);
ALTER TABLE SYS_LOGS ADD CONSTRAINT FK_SYS_LOGS_USR FOREIGN KEY (CD_USU) REFERENCES USUARIOS (CD_USU);
CREATE PROCEDURE SP_SYSLOGIN
(
CD_USUARIO INTEGER,
HISTORICO VARCHAR(100)
)
AS
BEGIN
INSERT INTO SYS_LOGS
(
CD_SYSLOG,
DT_LOG,
CD_USU,
HISTORICO
)
VALUES
(
GEN_ID(GEN_CD_SYSLOG, 1),
CURRENT_TIMESTAMP,
:CD_USUARIO,
:HISTORICO
);
SUSPEND;
END
DELPHI
// CONTROLE DE LOGS DE USUARIOS
procedure TDM.SysLogin(Conexao : TIBDatabase; CD_Usuario: Integer; Historico: string);
var
SProcedure : TIBStoredProc;
begin
SProcedure := TIBStoredProc.Create(Nil);
with SProcedure do
begin
Database := Conexao;
StoredProcName := 'SP_SYSLOGIN';
ParamByName('CD_USUARIO').Value := CD_Usuario;
ParamByName('HISTORICO').Value := Historico;
ExecProc;
Destroy;
end;
end;
A Rotina abaixo deve ser adaptada da forma que deseja para formação do Histórico.
DM.SysLogin(DM.DBLogs, DM.CD_Usuario_Mem, 'GRAVOU DADOS EM: Cad. de Pessoas - Cód: [ ' + IntToStr(DM.qPessoasCD_PES.Value) + ' ] Nome: ' + DM.qPessoasNM_PES.Value);
Até a próxima amigos e que Deus abençoe a todos...
Everson Clei da Silva (viasolucoes@hotmail.com.br)- Analista/Programador da Empresa Via Soluções, em Umuarama–PR. Trabalho com informática desde 1997, Possuo conhecimento avançado em Delphi, InterBase & Firebird, Clipper, MS SQL Server, Oracle, MySQL, ASP.