Captura Campo Moficados no Momento do ApplyUpdates(0)
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)?
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)?
Userba
Curtidas 0
Respostas
Emerson Nascimento
25/11/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.
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.
GOSTEI 0
Bruno Belchior
25/11/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...
GOSTEI 0
Userba
25/11/2005
[quote:2cad58fdd6=´Bruno Belchior´]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...[/quote:2cad58fdd6]
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
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
GOSTEI 0