以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 系统日志自动记录的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87287) |
-- 作者:天若千颖 -- 发布时间:2016/7/7 15:37:00 -- 系统日志自动记录的问题 我设置了一个表叫做“系统日志表”,在项目的AfterOpenProject事件中写入: Tables("系统日志表").AddNew() Tables("系统日志表").Current("登录用户") =User.Name Tables("系统日志表").Current("登录时间") =Date.Now 这个比帮助里面把这个记录写入本地电脑的LOG日志方便多了,可以记录所有人的登录日志。 但是,这个表普通会员是不能查看的,问题就又出来了,如果普通会员无法查看这个表(可视化授权设置为不可见),当登陆的时候,这个表好像没有写入了。 如何实现这个表当普通会员登录时无法查看,但是登录的记录又可能正常的记录呢?
|
-- 作者:大红袍 -- 发布时间:2016/7/7 15:44:00 -- 改一下代码
Dim ndr As DataRow = DataTables("系统日志表").AddNew()
ndr("登录用户") =User.Name
ndr("登录时间") =Date.Now
|
-- 作者:天若千颖 -- 发布时间:2016/7/7 15:48:00 -- 还是没有记录上,刚用别的账号登陆了2次,日志里面没有记录。 |
-- 作者:大红袍 -- 发布时间:2016/7/7 15:52:00 -- afterOpenProject,是打开项目才会执行的。
你登陆,可能没有重新打开项目。你可以把代码写到LoadUserSetting事件 [此贴子已经被作者于2016/7/7 15:52:44编辑过]
|
-- 作者:天若千颖 -- 发布时间:2016/7/7 15:57:00 -- 我是把整个项目关闭之后,重新打开登陆的。 我试了把代码写到LoadUserSetting里面,还是没有把记录写进去呢。
|
-- 作者:大红袍 -- 发布时间:2016/7/7 15:58:00 -- 加入msgbox,看是否触发代码。 |
-- 作者:天若千颖 -- 发布时间:2016/7/7 16:03:00 -- 加在最后,登录时在显示加载数据的时候有信息提示呢。 \'创建登陆日志 Dim ndr As DataRow = DataTables("系统日志表").AddNew() ndr("登录用户") =User.Name ndr("登录时间") =Date.Now MessageBox.Show("测试","提示") |
-- 作者:大红袍 -- 发布时间:2016/7/7 16:07:00 -- 代码肯定没问题,
1、进入系统后,显示此表,看是否有数据。
2、单独执行代码,看有没有数据。
3、看你此表beforesaveDataRow等事件是否写有什么限制代码
不行就上传实例。 |
-- 作者:天若千颖 -- 发布时间:2016/7/7 16:26:00 -- 问题找到了,确实是,我在关闭项目的时候设置了普通用户的修改不保存。 \'创建登陆日志 Dim ndr As DataRow = DataTables("系统日志表").AddNew() ndr("登录用户") =User.Name ndr("登录时间") =Date.Now DataTables("系统日志表").Save() 添加记录后直接保存,这样就解决了。 谢谢红袍老师的耐心解答。 |