专家:
我建立了一个输入窗口,向表A中录入数据。在录入窗口设计了一个table表(绑定表A),设计了一个
记录窗口(绑定表A)用来输入记录。在表A中利用代码设置了输入记录时,如果第一列与第二列的内容在历史记录中
有重复的,则提醒用户输入重复记录。并把第一列内容清空。这个在窗口输入时都是正常的。我在窗口中设置了
一个保存按钮,设计了如下代码
If DataTables("表A").HasChanges Then
If Tables("表A").Rows.Count > 0 Then
Dim Colnames As String() = {"第一列","第二列","第三列","第四列"}
Dim Issave As Boolean = True
For Each ColName As String In Colnames
If Tables("表A").Current.IsNull(ColName) Then
Issave = False
MessageBox.Show("当前记录还未输入完成,请完成输入")
Exit For
End If
Next
........
If Issave Then
If MessageBox.show("是否保存当前数据?","提示",MessageBoxButtons.YesNo) = DialogResult.Yes Then
For Each r As Row In Tables("表A").Rows
r.Locked = True
Next
DataTables("表A").Save()
End If
End If
End If
以上我在窗口操作时,当第一列与第二列输入重复值后,正常现示了重复值提示,并
把第一列的值清除了,在Table表A中也现示第一列的内容为空了,如果这时我按保存
会提示值未输入完,不能保存。我如果在第一列输入不同的值后,Table表A中也会显
示相应的值,这时再按保存,就会完成保存,但table表A中的这条记录值会消失掉
但到表A原表中却能找到这条记录,但第一列为空值。以上的现象,是不是我的代码
中哪里有缺陷?
以上,谢谢!