200分求 资料修改的历史记录(200分)

W

wxl229

Unregistered / Unconfirmed
GUEST, unregistred user!
假如一表为 工号 姓名 性别 学历
修改前: 0001 张三 男 大专
修改后: 0001 张曼玉 女 本科
怎样才能用一个按钮使得还能查看到修改前的资料。请详细说明:(使用SQL数据库)
 
既然还要查看修改前的记录,干吗还要修改?
可以保留原来的记录,而只是把原记录工号0001改为10001,再添加新记录。
这样就可以查看原来的0001工号的员工资料了。
 
我只是举一个例子,因为防止别人改错,可以查到修改前是什么样的资料,假如它是公司的单据就有必要可以查看历史记录了吧。
 
怎么没人来指点一下啊!
 
用另一表做备份
 
就象查看ERP里的单据的修改历史记录那样 ,当然不可能做备份表的了
 
加一个字段bit,当前使用的就是1,每次修改都视为新增,删除的置为0,新增的就不用说了
 
跟踪表的变化,如果发生变化,说明用户在修改,把该项数据备份到另外一个历史记录表。
这样你就可以进行历史修改查询了。
 
[:)]除了备份,我看没有什么好的办法了了?兄弟你就死了这条心吧?呵呵!
 
那怎样能在修改时先把原来的资料复制一行然后在做修改
 
我们公司的ERP就可以
 
是个什么东东啊?
可以介绍吗?[:)]
 
我想把一个单据的修改前的资料保留下来
 
你可以在用户进行数据修改时,触发这个事件,
procedure TForm1.ADOTable2BeforeEdit(DataSet: TDataSet);
begin
//保存当前记录到备份数据库。
另外,你可能需要做标志,用户修改当前记录的每一个字段都会触发本事件,你保存前进行判断就好。
end;
 
添加一个修改按钮,在修改之前先写日志就行了
 
修改之前保存到临时表不行吗?
 
另外建立一个相同的记录表,当出现操作时候就先执行保存操作,将前一个状态数据进行保存就OK啦,给分吧[:D]
 
我弄过一个:
建一个一样结构的表,每次修改时把旧数据通过触发器备份到此表
不过如果数据更新频率快 会影响速度
 
把郵箱給我
我發給你例子
 
我想楼主的意思应该是当时录入的检查吧,用来核对修改而已,不用来后期备查的
TDataset中的TField的NewValue记录新值,相对的OldValue记录的则是原来的值
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
565
import
I
I
回复
0
查看
574
import
I
D
回复
0
查看
892
DelphiTeacher的专栏
D
顶部