registrar acoes dos usuarios no uso do sistema
olha só pessoal
Gostaria de criar não sei e é plo trigger ou similar uma forma que registrasse toda açao dos usuarios nas tabelas como ´INCLUSAO,ALTERAÇAO,EXCLUSAO´ de preferencia em qual compo da tabela ele fez a açao.
estou com este problema aqui...
teria como?[/list]
Gostaria de criar não sei e é plo trigger ou similar uma forma que registrasse toda açao dos usuarios nas tabelas como ´INCLUSAO,ALTERAÇAO,EXCLUSAO´ de preferencia em qual compo da tabela ele fez a açao.
estou com este problema aqui...
teria como?[/list]
Erivando
Curtidas 0
Respostas
Aroldo Zanela
21/01/2007
Colega,
Se estiver um SGBD, você pode fazer usando triggers, mas ficará dependente do banco de dados e sua portabilidade ficará comprometida. Uma alternativa é utilizar o manipulador de eventos BeforeAlgumaCoisa dos datasets ou descendentes. Terá uma performance inferior a primeira opção, porém, maior portabilidade.
Se estiver um SGBD, você pode fazer usando triggers, mas ficará dependente do banco de dados e sua portabilidade ficará comprometida. Uma alternativa é utilizar o manipulador de eventos BeforeAlgumaCoisa dos datasets ou descendentes. Terá uma performance inferior a primeira opção, porém, maior portabilidade.
GOSTEI 0
Erivando
21/01/2007
[quote:cc331d5c52=´Aroldo Zanela´]Colega,
Se estiver um SGBD, você pode fazer usando triggers, mas ficará dependente do banco de dados e sua portabilidade ficará comprometida. Uma alternativa é utilizar o manipulador de eventos BeforeAlgumaCoisa dos datasets ou descendentes. Terá uma performance inferior a primeira opção, porém, maior portabilidade.[/quote:cc331d5c52]
Se estiver um SGBD, você pode fazer usando triggers, mas ficará dependente do banco de dados e sua portabilidade ficará comprometida. Uma alternativa é utilizar o manipulador de eventos BeforeAlgumaCoisa dos datasets ou descendentes. Terá uma performance inferior a primeira opção, porém, maior portabilidade.[/quote:cc331d5c52]
Então amigo Zanela, poderei até criar uma tabela onde poderei estar marzenando todas as acoes executadas pelos usuarios com data horarios etc.. isso? para que a quaquer momento o administrador do sistema possa fazer filtros e pequisas sobre as açoes dos usuarios! Que vc acha?
GOSTEI 0
Macario
21/01/2007
Olá.
Uma maneira de implementar um Log de ações é utilizar o evento BeforeUpdateRecord do DataSetProvider.
Na edição 51 da revista ClubeDelphi você encotrará um artigo sobre tema.
Qualquer coisa é so postar novamente.
[]´s 8)
Uma maneira de implementar um Log de ações é utilizar o evento BeforeUpdateRecord do DataSetProvider.
Na edição 51 da revista ClubeDelphi você encotrará um artigo sobre tema.
Qualquer coisa é so postar novamente.
[]´s 8)
GOSTEI 0
Aroldo Zanela
21/01/2007
Colega,
Eu implementei isso num sistema há alguns anos usando um campo BLOB e armazenando em formato XML para qualquer tabela as ações antes de serem aplicadas.
Exemplo:
Neste exemplo, é possível saber qual ERA a informação armazenada em um determinado instante.
Eu implementei isso num sistema há alguns anos usando um campo BLOB e armazenando em formato XML para qualquer tabela as ações antes de serem aplicadas.
Exemplo:
<log> <tabela>clientes</tabela> <acao>remoção</acao> <campoA>DadosA</campoA> <campoB>DadosB</campoB> </log>
Neste exemplo, é possível saber qual ERA a informação armazenada em um determinado instante.
GOSTEI 0
Macario
21/01/2007
Ola.
No BeforeUpdateRecord, é disponibilizado o Delta do DataSet onde temos acesso as variaveis NewValue e OldValue, com isso podemos manter o historico do registro.
Outro detalhe é que é possivel implementar uma rotina que grava apenas os campos efetivamente alterados.
[]´s
No BeforeUpdateRecord, é disponibilizado o Delta do DataSet onde temos acesso as variaveis NewValue e OldValue, com isso podemos manter o historico do registro.
Outro detalhe é que é possivel implementar uma rotina que grava apenas os campos efetivamente alterados.
[]´s
GOSTEI 0
Erivando
21/01/2007
Olá.
Uma maneira de implementar um Log de ações é utilizar o evento BeforeUpdateRecord do DataSetProvider.
Na edição 51 da revista ClubeDelphi você encotrará um artigo sobre tema.
Qualquer coisa é so postar novamente.
[]´s 8)
Obrigado Macario, eu tenho a revista fui verificar e achei bacana, irei adaptar a minha aplicação!
GOSTEI 0
Macario
21/01/2007
Obrigado Macario, eu tenho a revista fui verificar e achei bacana, irei adaptar a minha aplicação!
Qualquer duvida post aqui novamente, eu fiz uso das dicas do artigo.
[]´s
GOSTEI 0
Francisco.riva1
21/01/2007
Ola amigos,
DataSetProvider funciona legal ... agora como vcs resolveram quando existem relacionamentos mestre x detalhe (onde temos somente o log da tabela mestre) !?
Abraco.
DataSetProvider funciona legal ... agora como vcs resolveram quando existem relacionamentos mestre x detalhe (onde temos somente o log da tabela mestre) !?
Abraco.
GOSTEI 0
Macario
21/01/2007
Olá.
É so usar o evento de cada DSP.
8)
É so usar o evento de cada DSP.
8)
GOSTEI 0
Francisco.riva1
21/01/2007
Ola´ Macario,
O q estou dizendo e´ q quando ha´ um relacionamento mestre x detalhe, so´ existe um DSP para as duas tabelas.
Para a tabela mestre, tudo bem, funciona normalmente ... mas para a tabela detalhe (que nao tem um DSP) nao ha´ essa funcionalidade.
Em seus projetos vc nao tem esse tipo de relacionamento, se tiver faca o teste para ver, vc nunca tera´ a informacao das alteracoes da tabela Detalhe por nao ter um DSP pra ela.
Ainda nao sei como criar esse mesmo recurso nesse caso, vc tem ideia de como fazer (ou seja, fazer o mesmo controle que faz no DSP so´ q no CDS) ?
Obrigado.
Abracos.
O q estou dizendo e´ q quando ha´ um relacionamento mestre x detalhe, so´ existe um DSP para as duas tabelas.
Para a tabela mestre, tudo bem, funciona normalmente ... mas para a tabela detalhe (que nao tem um DSP) nao ha´ essa funcionalidade.
Em seus projetos vc nao tem esse tipo de relacionamento, se tiver faca o teste para ver, vc nunca tera´ a informacao das alteracoes da tabela Detalhe por nao ter um DSP pra ela.
Ainda nao sei como criar esse mesmo recurso nesse caso, vc tem ideia de como fazer (ou seja, fazer o mesmo controle que faz no DSP so´ q no CDS) ?
Obrigado.
Abracos.
GOSTEI 0