以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请问什么代码会导致行重复多存了一行?完全一样复制多了一个行,导致数据重复,好奇怪啊 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130440) |
-- 作者:chen37280600 -- 发布时间: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编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/1/22 10:51:00 --
重复的数据,每一列的数据都相同?如果是这样,而发生的几率又不大的话,你写sql代码,定期删除重复数据,即可。
这个问题,很难发现错误的。因为不知道什么时候产生,无法测试。
|
-- 作者:chen37280600 -- 发布时间:2019/1/22 10:59:00 -- 回复:(有点甜)?重复的数据,每一列的数据都... 确实是每一列都相同。明摆就是新建后,第一次保存时产生的重复。后续再修改也不会再产生重复了。 由于CarFixAddTime是新建时自动获取且不允许修改,这个字段重复,而其他能被修改的字段没出现重复,更加让我确定是这个情况。
[此贴子已经被作者于2019/1/22 10:59:52编辑过]
|
-- 作者:chen37280600 -- 发布时间:2019/1/22 11:05:00 -- 回复:(有点甜) 重复的数据,每一列的数据都... 其实最关键在于我并没有这样重复新建行,并且遍历重复赋值的代码。但是它居然可以获取到上一行的全部数据,感觉是狐表的底层触发的问题 |
-- 作者:有点甜 -- 发布时间:2019/1/22 11:13:00 -- DataRowAdding事件写到DataRowAdded去试试。
这个问题无法测试和处理的,因为不明确,只能变通的处理。 |
-- 作者:chen37280600 -- 发布时间:2019/1/22 11:34:00 -- 回复:(有点甜)DataRowAdding事件写到DataRowAdded去... 好吧,我先试试,看下能不能解决问题 |
-- 作者:873773115 -- 发布时间:2020/3/2 11:43:00 -- 这个问题解决了吗? 我的是有一两个模块 自动出现重复 在系统操作的时候一切正常,只要一保存,后台就出现一模一样的两份数据 其他模块就没有这个问题 快愁死了 |
-- 作者:有点蓝 -- 发布时间:2020/3/2 11:52:00 -- 以下是引用873773115在2020/3/2 11:43:00的发言:
贴出具体代码,或者上传实例说明
这个问题解决了吗? 我的是有一两个模块 自动出现重复 在系统操作的时候一切正常,只要一保存,后台就出现一模一样的两份数据 其他模块就没有这个问题 快愁死了 |