Descobrir Usuário que está alterando

Delphi

11/12/2004

Pessoal, estou usando um travamento pessimista, com IBX e Firebird 1.5, Delphi 7.
Como faço para saber qual usuário e de qual máquina, é que o registro tá sendo alterado.


Thomaz_prg

Thomaz_prg

Curtidas 0

Respostas

Max.jgs

Max.jgs

11/12/2004

Na propriedade Affiter edit referente a Table ou Query você coloca para quando esse evento for acionado será enviado uma mensagem para a sua máquina informando o ip da máquina sendo alterada e a tabela e o cod do usuário.....

Ass: Max...


GOSTEI 0
Thomaz_prg

Thomaz_prg

11/12/2004

Valeu colega pela resposta!

Só que é o seguinte, eu gostaria que fosse informado o nome do usuário e a máquina, apenas se, o registro estiver bloqueado. Tipo, se o registro já estivesse sendo alterado por um usuário, e outro tentasse alterar.

Mas de qualquer forma valeu!


GOSTEI 0
Max.jgs

Max.jgs

11/12/2004

A única forma que eu conheço e vc criar uma tabela de controle de registros alterados.
Quando o usuário tentar alterar um determinado registro, através do Evento BeforeEdit1(Antes de alterar) ou AffeterEdit(depois de alterar) vc criara uma procedure para verificar se esse determinado registro já está inserido na tabela de controle como registro já alterado e se tiver inserido nessa tebela então vc reveberá uma mensagem informando o IP o nome do Usuário de demais informações assim desejados....
Pode existir uma outra forma mais eu não conheço....


Ass: Max...


GOSTEI 0
Max.jgs

Max.jgs

11/12/2004

A única forma que eu conheço e vc criar uma tabela de controle de registros alterados.
Quando o usuário tentar alterar um determinado registro, através do Evento BeforeEdit1(Antes de alterar) ou AffeterEdit(depois de alterar) vc criara uma procedure para verificar se esse determinado registro já está inserido na tabela de controle como registro já alterado e se tiver inserido nessa tebela então vc reveberá uma mensagem informando o IP o nome do Usuário de demais informações assim desejados....
Pode existir uma outra forma mais eu não conheço....


Ass: Max...


GOSTEI 0
Thomaz_prg

Thomaz_prg

11/12/2004

Colega, eu já havia pensado nisso, porém, além do trabalho de ter que refazer várias partes do sistema, e de montar um controle para essa tabela, se por algum acaso, o computador que tá alterando simplesmente, travasse, o registro ficaria inacesível.

Eu também já havia pensado em criar arquivos no servidor, e, de tempos em tempos, o servidor tentaria apagar esses arquivos, pois enquanto estiver em uso, o mesmo não pode ser excluído.

Mas o q acontece é q, analisando programas feitos em access, e após ter conversado com um colega, que disse fazer isso usando uma linguagem chamada progress, acho que, pelo menos no firebird deve ter algo.

Mas de qualquer forma valeu!


GOSTEI 0
Max.jgs

Max.jgs

11/12/2004

{{{{{{Colega, eu já havia pensado nisso, porém, além do trabalho de ter que refazer várias partes do sistema, e de montar um controle para essa tabela, se por algum acaso, o computador que tá alterando simplesmente, travasse, o registro ficaria inacesível. }}}}}

Se o sistema travar vc pode copiar os dados que estão sendo alterador para uma tabela chamada Registros anteriores e quando o sistema voltar ao normal vc receberá a informação de que determinado registro em uma determinada máquina foi alterado.... e tendo a opção de voltar com os dados alterado para a tabela que foi alterada......

Ass: Max...


GOSTEI 0
Thomaz_prg

Thomaz_prg

11/12/2004

Muuuuuito Obrigado Mesmo Pela Ajuda!

Mas é que queria que o Firebird me fornecesse estas informações. Tipo, acontece que, vi isso acontecer em um programa em Access, e entrei em contato com uma pessoa, direta do FireBase.Com.br. O mesmo deu a entender que existe essa opção, porém não disse como...

Então, mais uma vez obrigado.

Valeu.


GOSTEI 0
POSTAR