以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于增加操作日志  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=102997)

--  作者:zhsenchzhi
--  发布时间:2017/6/28 23:34:00
--  关于增加操作日志
我想把 对于某些表的 操作, 一般就是  增删改  的操作, 完成并保存后,加上日志

比如 某某某 什么时间,地点,对那个表 那个列做了 什么操作,应该加在什么 全局表事件比较好呢?

我不想一个一个表增加,这样太繁琐,想加到全局表事件中

不想加在 beforesaveDatarow  上面,因为此时  数据尚未入库,是否真正发生变化,还未可知

也不想加在  Table 上面, 因为 Table 上面的增删改,也还没有真正保存到后台的数据库中

请问,加在那个 事件中最合适呢?


--  作者:有点蓝
--  发布时间:2017/6/29 8:36:00
--  
新增行:beforesaveDatarow
修改数据:datacolchanged
删除数据:DataRowDeleting
[此贴子已经被作者于2017/6/29 8:36:34编辑过]

--  作者:有点色
--  发布时间:2017/6/29 8:39:00
--  

参考

 

下载信息  [文件大小:340.0 KB  下载次数:25]
图片点击可在新窗口打开查看点击浏览该文件:操作日志.table

 


--  作者:zhsenchzhi
--  发布时间:2017/6/29 16:25:00
--  
新增行:beforesaveDatarow   这个好像修改的数据也会被调用吧,而且有几个列,就会调用几次,是不是呢?
修改数据:datacolchanged    这个好像也是有几个列,就会调用几次吧
删除数据:DataRowDeleting  这个倒是可以使用

--  作者:有点色
--  发布时间:2017/6/29 16:31:00
--  

如果你用的是sqlserver数据库,触发器满足你的需求,那个时候的值,是准备保存的值了。

 

如果要在foxtable处理:

 

beforesaveDatarow   (每行保存之前触发)

datacolchanged        (修改数据后马上出发)


--  作者:zhsenchzhi
--  发布时间:2017/6/29 16:42:00
--  
我是想在 实际的 增删改 操作真正完成之后,也就是入库之后,再记录日志,否则 可能会出现 记录的日志和实际操作不一致的情况

另外  beforesaveDatarow ,据我测试, 每个表, 有几个列就会调用几次,非常耗费效率

--  作者:有点色
--  发布时间:2017/6/29 16:45:00
--  

beforeSaveDataRow,有几行修改,就调用几次。

 

如果想【实际修改后记录】,请用数据库的触发器 https://www.baidu.com/s?ie=UTF-8&wd=sqlserver%20%E8%A7%A6%E5%8F%91%E5%99%A8