首页 > 解决方案 > VB.Net - 无法启用约束。一行或多行包含违反非空、唯一或外键约束的值

问题描述

我正在使用 VB.Net 创建图书馆自动化系统。在图书添加表单(UI)中,我想添加图书作者(tblBookDetails 中的一个字段。但添加图书作者是另一个 UI。要在图书添加 UI 中添加图书作者,我有一个组合框来填充除authorFirstName值成员之外的所有内容是authorID。我想从 BookAuthor 表中填充图书作者姓名。运行时出现以下错误Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

tblBookAuthor 和 tblBookDetails 模式

tblBookAuthor(authorID, authorFirstName) // authorID - PK

tblBookDetails(accessionNo, authorId, title) // authorID - FK

这是我的代码

Private Sub frmAddBook_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        SqlDataAdapter1.Fill(DataSet51, "tblBookAuthor") // Highlighted as error
        dt = DataSet51.Tables("tblBookAuthor")

    End Sub

更新

作者姓名的 getId 附加代码

Private Sub cboBookAuthor_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbAuthorId.SelectedIndexChanged
    Dim i As Integer

    For i = 0 To DataSet51.Tables("tblBookAuthor").Rows.Count - 1
        If cboBookAuthor.Text = DataSet51.Tables("tblBookAuthor").Rows(i).Item(1) Then
            txtBookAuthorID.Text = DataSet51.Tables("tblBookAuthor").Rows(i).Item(0)
            Exit For
        End If

    Next

End Sub

标签: vb.netdataset

解决方案


推荐阅读