以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  数据操作日志记录删除行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132417)

--  作者:Liangcai
--  发布时间:2019/3/21 14:49:00
--  数据操作日志记录删除行

DataRowDeleted  代码

 

Dim cmd As New SQLCommand
cmd.CommandText = "SELECT * Fr om {数据操作日志} Where [_Identify] Is Null"
Dim dt As DataTable = cmd.ExecuteReader(True)
Dim dr As DataRow = dt.AddNew
dr("ID") = e.DataRow("_Identify")
dr("用户") = _UserName
dr("涉及表") = e.DataTable.Name
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

 

AfterOpenProject 代码

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

请老师指点错在哪?谢谢

[此贴子已经被作者于2019/3/21 14:49:46编辑过]

--  作者:有点甜
--  发布时间:2019/3/21 15:03:00
--  

代码要写到datarowdeleting事件。

 

执行后,报什么错?


--  作者:Liangcai
--  发布时间:2019/3/22 8:19:00
--  

没有报错提示,数据操作日志没有删除记录


 

[此贴子已经被作者于2019/3/22 11:58:49编辑过]

--  作者:有点蓝
--  发布时间:2019/3/22 11:27:00
--  
最后保存一下呀

dr("原行数据") = str
dt.save

--  作者:Liangcai
--  发布时间:2019/3/22 11:38:00
--  

已经保存了


--  作者:Liangcai
--  发布时间:2019/3/22 11:40:00
--  

找到问题了

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