例如,一个图书管理系统,当对一本书的信息做了Update操作后,希望可以得到这样的历史纪录:
xx管理员在xxxx时间,修改了xx图书,将图书标题从xxx改为xxx,作者从xx改为xx,......
注意:一本书可能有20多个属性,但我希望每次只记录确实有改动的属性。我希望可以在数据层或业务层来解决它,最好不要在页面外观层中实现。而且希望有比较好的扩展性,当图书的属性增加或减少时,不需要做大量的代码修改。请问各位有什么好的解决方案吗?
xx管理员在xxxx时间,修改了xx图书,将图书标题从xxx改为xxx,作者从xx改为xx,......
注意:一本书可能有20多个属性,但我希望每次只记录确实有改动的属性。我希望可以在数据层或业务层来解决它,最好不要在页面外观层中实现。而且希望有比较好的扩展性,当图书的属性增加或减少时,不需要做大量的代码修改。请问各位有什么好的解决方案吗?
读过来改改
可以在logic层中写一个InsertLog这样一个方法,方法的实现是传入一个datatable,然后把字段循环插入,参考这里
http://community.csdn.net/Expert/topic/4018/4018933.xml?temp=.7349665当字段增多时只需在表示层把该字段的添加的要传入的datatable中即可,不用该logic层
正如3tzjq(永不言弃) 所说的
写Insert,Update,Delete触发器,但不能得到 xx管理员,这个问题看似简单,但是要如意的话感觉比较难,我市没有想出什么好办法,要我做的话可能就直接写在外边了,这么做虽然看起来不怎么好,但是写起来方便,想要做扩充的话应该也容易
======================================================
欢迎加入.net群:13817403(如果遭拒绝则说明群已满)本人大四,下学期找工作了,各位兄弟帮帮忙
我的简历:http://202.118.70.40/winal/introduce.aspx
======================================================
但不知道现在的2003版本是不是支持,不过2005是绝对支持的。
MessageType:0 = System, 1 = Error, 2 = Operator