Foxtable(狐表)用户栏目专家坐堂 → 请问什么代码会导致行重复多存了一行?完全一样复制多了一个行,导致数据重复,好奇怪啊


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

主题:请问什么代码会导致行重复多存了一行?完全一样复制多了一个行,导致数据重复,好奇怪啊

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


加好友 发短信
等级:六尾狐 帖子:1279 积分:7953 威望:0 精华:4 注册:2017/12/31 14:53:00
请问什么代码会导致行重复多存了一行?完全一样复制多了一个行,导致数据重复,好奇怪啊  发帖心情 Post By:2019/1/22 10:38:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


1张主表+2张子表的架构。1年内出现10多次这样的情况。从一开始以为是重复派编号(http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=127231&replyID=&skin=1
到后来发现是重复保存导致的,贴出BeforeSaveDataRow的代码。如果要更多代码,请客服联系我。我已经做了好多好多项目,也就这个模块会出现重复,太奇怪了。


CarFixAddTime的获取方法:向服务器通过  Select GetDate() 获取,在DataRowAdding事件里


BeforeSaveDataRow:
'-----必填检测-----
If e.DataRow.IsNull("CompanyID") OrElse e.DataRow.IsNull("CarFixID")  Then '判断是否不符合验证要求
    e.Cancel = True '取消存盘
    Return
End If
'-----必填检测-----



e.DataRow("CarFixLastEditUser") = PublicMHUserID
e.DataRow("CarFixLastEditTime")= Functions.Execute("SqlDate")

'数值列若为空自动填0---
Dim dls As new  List (of String )
dls.Add("CarFixItemCost")
dls.Add("CarFixTotalPrice")
dls.Add("CarFixLossPrice")
dls.Add("CarFixCommission")
dls.Add("CarFixTax")
dls.Add("CarFixWorkCost")
dls.Add("CarFixPayCash")
dls.Add("CarFixPayBank")
dls.Add("CarFixPayAli")
dls.Add("CarFixPayWechat")

For Each d As String In dls
    If e.DataRow.IsNull(d) Then
        e.DataRow(d) =0
    End If
Next
'数值列若为空自动填0---

Functions.Execute("EndMyEdit",e.DataRow)



[此贴子已经被作者于2019/1/22 10:42:34编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1279 积分:7953 威望:0 精华:4 注册:2017/12/31 14:53:00
回复:(有点甜)?重复的数据,每一列的数据都...  发帖心情 Post By:2019/1/22 10:59:00 [显示全部帖子]

确实是每一列都相同。明摆就是新建后,第一次保存时产生的重复。后续再修改也不会再产生重复了。
由于CarFixAddTime是新建时自动获取且不允许修改,这个字段重复,而其他能被修改的字段没出现重复,更加让我确定是这个情况。
[此贴子已经被作者于2019/1/22 10:59:52编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1279 积分:7953 威望:0 精华:4 注册:2017/12/31 14:53:00
回复:(有点甜) 重复的数据,每一列的数据都...  发帖心情 Post By:2019/1/22 11:05:00 [显示全部帖子]

其实最关键在于我并没有这样重复新建行,并且遍历重复赋值的代码。但是它居然可以获取到上一行的全部数据,感觉是狐表的底层触发的问题

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


加好友 发短信
等级:六尾狐 帖子:1279 积分:7953 威望:0 精华:4 注册:2017/12/31 14:53:00
回复:(有点甜)DataRowAdding事件写到DataRowAdded去...  发帖心情 Post By:2019/1/22 11:34:00 [显示全部帖子]

好吧,我先试试,看下能不能解决问题

 回到顶部