首页 > 解决方案 > VB.NET 数据集“值已存在”处理

问题描述

我正在使用 VB.NET 和 Visual Studio 2017。我有一个数据集,它有两列:ID 和 ToolDiameter。两列都必须是唯一的,并且“唯一”属性设置为“真”。

数据手动输入到数据集中。输入重复的 ToolDiameter 时,我收到错误 System.Data.ConstraintException: 'Column 'ToolDiameter' is constrained to be unique。值“57”已经存在。

我希望它向用户显示一个 MessageBox,通知该工具已经存在,但我现在知道在哪里添加代码,因为我使用的是 BindingNavigator 和 DataGridView。

最好的问候, SilverR

标签: vb.netdatasetconstraints

解决方案


好吧,我的错,忘了提到我尝试使用文本框(数据集详细信息)输入新数据。这就是为什么我没有看到错误对话框。我用 DataGridView 解决了这个错误,如下所示:

Private Sub PunchToolsRODataGridView1_DataError(sender As Object, e As DataGridViewDataErrorEventArgs) Handles PunchToolsRODataGridView1.DataError
    MessageBox.Show("Entry error!", "Error")
    If (e.Context = DataGridViewDataErrorContexts.Commit) Then
        MessageBox.Show("Value already exists.", "Error")
    End If
End Sub

但是使用 TextBox 的问题仍然存在。


推荐阅读