Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:在保存成功后记录被修改的记录信息

1楼
xunxun0903 发表于:2023/10/13 10:21:00
老师 请教
场景:A录入了一行信息,如果A再编辑这条信息,我要记录他修改了列的 原值 和 新值(修改完保存成功才记录)。

我在BeforeSaveDataRow这样写合适吗?


Dim dra As DataRow = DataTables("审计事件").AddNew


dra("GUID") = Vars("_Guid")

dra("用户") = Vars("_Username")

dra("用户名") = Vars("_Chname")


dra.Save


Dim name As New List (Of String) From {"姓名", "用户名", "密码", "用户类型", "创建日期", "禁用", "禁用日期"}

For i = 0 To 6

    Dim dr As DataRow = DataTables("审计_变更明细").AddNew

        dr("GUID") = Vars("_Guid")

        dr("属性名称") = e.DataTable.DataCols(name(i)).Name

        If e.DataRow(name(i)) = e.DataRow.OriginalValue(name(i)) Then

            Else

        dr("变更前") = e.DataRow.OriginalValue(name(i)) 

        dr("变更后") = e.DataRow(name(i)) 

        End If

         dr.Save

Next


DataColChanged 是一只要一修改了就会记录 不知道怎么处理保存后才记录。

2楼
有点蓝 发表于:2023/10/13 10:29:00
BeforeSaveDataRow事件测试有什么问题?
3楼
xunxun0903 发表于:2023/10/13 10:36:00
怎么样记录只被修改过的列?未被修改过的我不记录
[此贴子已经被作者于2023/10/13 10:42:22编辑过]
4楼
有点蓝 发表于:2023/10/13 10:57:00

Dim name As New List (Of String) From {"姓名", "用户名", "密码", "用户类型", "创建日期", "禁用", "禁用日期"}

For i = 0 To name.count- 1

        If e.DataRow(name(i)) = e.DataRow.OriginalValue(name(i)) Then

            Else

    Dim dr As DataRow = DataTables("审计_变更明细").AddNew

        dr("GUID") = Vars("_Guid")

        dr("属性名称") = e.DataTable.DataCols(name(i)).Name

        dr("变更前") = e.DataRow.OriginalValue(name(i)) 

        dr("变更后") = e.DataRow(name(i)) 

dr.save

        End If

Next

5楼
xunxun0903 发表于:2023/10/13 11:05:00
多谢!
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03320 s, 2 queries.