我在菜单中设计一个保存按钮,执行
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找不到?
另外,我发现如果不点保存,而是点了筛选树,重新筛选,会自动保存上一次的编辑过的数据。
该重复偶然出现,操作者当时的操作我已经无法获知,这让我崩溃。
压力很大。
请帮忙想想原因和解决方案。
例子是实在没有办法做了