以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于ID列变化的疑惑 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89848) |
-- 作者:zhy400137 -- 发布时间:2016/8/31 9:52:00 -- 关于ID列变化的疑惑 BeforeSaveDataRow: Dim dr As DataRow = e.DataRow If dr.Isnull("部门ID") OrElse dr.Isnull("期间") OrElse dr.Isnull("费用金额") Then e.Cancel=True MessageBox.show("至少要填入部门ID,期间和费用金额!","提示") Else If dr.RowState=DataRowState.Added Or dr.Rowstate = DataRowState.Modified Then Dim dr1 As DataRow = DataTables("修改日志").AddNew dr1("预算填写ID") = dr("ID") dr1("用户ID") = _UserName dr1("用户名称") = _UserXm dr1("修改时间") = Date.Now dr1("表名")= "预算填写" dr1("列名") = "费用金额" dr1("原数值")= dr.OriginalValue("费用金额") dr1("现数值") =dr("费用金额") dr1.save End If End If 以上代码想完成一个创建修改日志的功能,其他都OK,但ID列有个疑惑,FOXTABLE里的ID列在保存前和保存后的值会变化, 如何保证存到日志里的是保存后的值呢?特别是第一条时,保存前ID是0,日志里的ID也直接存成0了 。 谢谢! |
-- 作者:zhy400137 -- 发布时间:2016/8/31 10:01:00 -- ID是自增列! |
-- 作者:有点蓝 -- 发布时间:2016/8/31 10:11:00 -- 保存日志的代码放到DataRowAdded事件 |
-- 作者:zhy400137 -- 发布时间:2016/8/31 10:21:00 -- 一样的,保存后还是变化前的值 |
-- 作者:zhy400137 -- 发布时间:2016/8/31 10:35:00 -- 再顶一下! |
-- 作者:zhy400137 -- 发布时间:2016/8/31 10:36:00 -- 我不能一开始就进行保存,因为另外几个字段是必填项! |
-- 作者:zhy400137 -- 发布时间:2016/8/31 10:52:00 -- 一个预算表,一个日志表 两表通过预算表的ID和日志表的预算填写ID进行关联
但我并没做关联表 现就想在预算填写有修改时,将预算表中的ID写入到日志表里的预算填写ID里 但预算表中的ID保存前后有变化 |
-- 作者:有点蓝 -- 发布时间:2016/8/31 10:57:00 -- 1、用自定义编号代替自增列 2、做保存按钮,保存后再增加日志
|
-- 作者:zhy400137 -- 发布时间:2016/8/31 11:01:00 -- 保存后,如何增加日志? 那只能填一行保存一行,不能保存整表?
|
-- 作者:有点蓝 -- 发布时间:2016/8/31 11:13:00 -- 这个没有办法,不然就用自定义编号 |