Foxtable(狐表)用户栏目专家坐堂 → 外部数据的操作日志代码不执行问题


  共有3494人关注过本帖树形打印复制链接

主题:外部数据的操作日志代码不执行问题

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
外部数据的操作日志代码不执行问题  发帖心情 Post By:2022/12/13 15:23:00 [只看该作者]



For Each dt As DataTable In DataTables
    dt.GlobalHandler.DataColChanged = True
    dt.GlobalHandler.DataRowAdded = True
Next






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("用户") = _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






If e.DataTable.Name <> "操作日志" Then
    Dim dr As DataRow = DataTables("操作日志").AddNew
    dr("ID") = e.DataRow("_Identify")
   ' dr("用户") = User.Name
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


上面代码在内部执行可以,到外部数据源就不行,是哪里错?请帮处理

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106391 积分:541102 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/13 15:50:00 [只看该作者]

外部表没有加载

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/13 16:03:00 [只看该作者]

我查找外部数据库也没有内容

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2022/12/13 16:04:00 [只看该作者]

是上面代码执行无效,在内表是可以,在外表就不行

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106391 积分:541102 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/13 16:08:00 [只看该作者]

下面代码只针对已经加载的表,没有加载的表不会执行到的。如果是动态加载的表,或者是sqltable等,在加载后重新调用下面代码

For Each dt As DataTable In DataTables
    dt.GlobalHandler.DataColChanged = True
    dt.GlobalHandler.DataRowAdded = True
Next

 回到顶部