Foxtable(狐表)用户栏目专家坐堂 → 数据重复的问题


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

主题:数据重复的问题

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:11133 威望:0 精华:0 注册:2014/8/13 16:19:00
数据重复的问题  发帖心情 Post By:2015/12/14 11:58:00 [显示全部帖子]

我在菜单中设计一个保存按钮,执行
MainTable.DataTable.Save
在表的beforerowsaved事件中设置代码
    Dim dr As DataRow
If e.DataRow.RowState = DataRowstate.Added Then
'此处设监控点1
    dr = DataTables(当前表).SQLFind("编码 = '" & e.DataRow(“编码”) & "'")
    If dr IsNot Nothing Then
        MessageBox.show("编码[" & e.DataRow("编码") & "]已存在!","提示",MessageboxButtons.Ok,MessageboxIcon.Information)
        e.cancel = True
        Return
    End If
'此处设监控点2
end if
这样设计,我认为是不可能把相同编码的数据录入到数据库中。
实际情况是,有相同编码的数据被录入系统了。
我在监控点设置的监控发现,01秒时,该代码执行一次,50秒的时候,又执行了一次(两个监控点的代码都执行了)。
这会是什么情况导致的呢?难道第二次还是DataRowstate.Added状态?sqlFind找不到?
另外,我发现如果不点保存,而是点了筛选树,重新筛选,会自动保存上一次的编辑过的数据。
该重复偶然出现,操作者当时的操作我已经无法获知,这让我崩溃。
压力很大。
请帮忙想想原因和解决方案。
例子是实在没有办法做了


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


加好友 发短信
等级:六尾狐 帖子:1495 积分:11133 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2015/12/14 12:40:00 [显示全部帖子]

不是,我这个编码是读入的。
有一个xml文件,从里面读入的。
这个xml文件是从政府部门过来的,本身不可能重复

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:11133 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2015/12/14 12:43:00 [显示全部帖子]

袍哥,实际代码还有一点不同。
If e.DataRow.RowState = DataRowstate.Added Then
'此处设监控点1
    dr = DataTables(当前表).SQLFind("编码 = '" & e.DataRow(“编码”) & "'")
    If dr IsNot Nothing Then
        MessageBox.show("编码[" & e.DataRow("编码") & "]已存在!","提示",MessageboxButtons.Ok,MessageboxIcon.Information)
        e.cancel = True
        Return
    End If
'此处设监控点2
    此处调用函数,向其他表中新增一条数据。
end if
最后的结果,当前表的数据是一条,而其他表中的数据是2条。

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:11133 威望:0 精华:0 注册:2014/8/13 16:19:00
  发帖心情 Post By:2015/12/14 15:53:00 [显示全部帖子]

msgbox没法加了,因为他们录了好几百条才出了3条错误。
只能在数据库里面加一个不重复的索引。

 回到顶部