Array
(
)

Captura Campo Moficados no Momento do ApplyUpdates(0)

Userba
   - 25 nov 2005

Olá a todos!

Preciso gravar em uma tabela de logs de segurança (em um campo memo) o conteúdo anterior e atual dos campos de um registro que sofreram alterações.

Ex:

o usuario X editou o registro 10 e o modicou da seguinte forma:

campo -> nome (antes) -> mario --- (depois) -> maria
campo -> endereco -> não foi alterado pelo usuario
campo -> bairro (antes) -> centro --- (depois) -> central

No caso acima preciso gravar em um memo desta forma:

nome (de) mario (para) maria
bairro (de) centro (para) central

Vocês pode me dar uma idéia de como capturar somente os campos de um determinado registro que sofreram modificação no momento de um ApplyUpdates(0)?


Emerson
   - 26 nov 2005

se você quer fazer isso pelo delphi, tente comparar
ClientDataSet.FieldByName(´Campo´).OldValue e
ClientDataSet.FieldByName(´Campo´).NewValue

ou

ClientDataSetCampo.OldValue e
ClientDataSetCampo.NewValue

se você estiver usando um SGBD isso pode ser feito por meio de triggers.


0
|
0

Bruno Belchior
   - 26 nov 2005

A questão do Old e New values deixa a desejar pois só funcionaria com o Registro onde o ResultSet está posicionado... uma opção seria ler o delta do ClientDataSet...


0
|
0

Userba
   - 26 nov 2005


Citação:
A questão do Old e New values deixa a desejar pois só funcionaria com o Registro onde o ResultSet está posicionado... uma opção seria ler o delta do ClientDataSet...


Olá Bruno!

Seria abusar...
Pedir para voce disponibilizar algumas linhas de como ler o Delta do ClientDataSet?
Ou me indicar algum Link/Literatura onde eu possa obter um exemplo?
Aproveito para lhe questionar...
O Delta irá me retornar os Campos e os respectivos Valores Antigos e Atuais?

Obrigado.
Luciano-User-BA


0
|
0