Foxtable(狐表)用户栏目专家坐堂 → [求助]求助在操作日志中记录删除行的信息?


  共有3275人关注过本帖平板打印复制链接

主题:[求助]求助在操作日志中记录删除行的信息?

帅哥哟,离线,有人找我吗?
bashanren
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:316 积分:2899 威望:0 精华:0 注册:2009/7/25 18:29:00
[求助]求助在操作日志中记录删除行的信息?  发帖心情 Post By:2018/11/20 21:59:00 [只看该作者]

 

一、在项目属性的全局表事件中,想在“数据操作日志”中记录删除行的信息,我在“DataRowDeleteting”中写下如下代码,但提示错误,请各位大师帮助修改,谢谢!!

 

If e.DataTable.Name <> "数据操作日志" Then
    Dim dr As DataRow = DataTables("数据操作日志").Delete

    dr("ID") = e.DataRow("_Identify")
    dr("用户") = User.Name
    dr("涉及表") = e.DataTable.Name
    dr("涉及列") = Nothing
    dr("涉及行") = e.DataRow("_Identify")
    dr("时间") = Date.Now
    dr("操作") = "删除了一行"
    Dim str As String = ""
    For Each c As DataCol In e.DataTable.DataCols
        str += c.Name & "=" & e.DataRow(c.Name) & "|"
    Next
    dr("原行数据") = str
End If

 

二、想根据不同用户,限止对不同表格的编辑权限,我在全局事件DataColChanged中,写下如下代码,可对所有用用户都限止了,请大师指导!!

If e.DataTable.Name <> "数据操作日志" Then
    If e.DataRow.RowState = 2 Then
        Return
    Else
        Dim dr As DataRow = DataTables("数据操作日志").AddNew
        dr("ID") = e.DataRow("_Identify")
        dr("用户") = User.Name
        dr("涉及表") = e.DataTable.Name
        dr("涉及列") = e.DataCol.Name
        dr("涉及行") = e.DataRow("_Identify")
        dr("时间") = Date.Now
        dr("操作") = """" & e.OldValue &  """ 改成了 """ & e.NewValue & """"
        Dim str As String = ""
        For Each c As DataCol In e.DataTable.DataCols
            str += c.Name & "=" & e.DataRow(c.Name) & "|"
        Next
        dr("原行数据") = str
    End If
End If

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


 回到顶部