0

我正在尝试使用updateAll表适配器管理器中的方法。当我尝试更新作为孩子存储在另一个表中的任何记录时,会updateAll引发异常,告诉我“无法删除或更改,因为表“竞争”包括相关记录”。这种方法不应该处理所有的表关系吗?

这是我要保存的代码:

Public Sub saveAll(ByVal dataSet As SudokuDataSet)
  Try
    Dim tbAdapterManager As New SudokuDataSetTableAdapters.TableAdapterManager

    tbAdapterManager.CompetitorTableAdapter = competitorTableAdapter
    tbAdapterManager.PuzzleTableAdapter = puzzleTableAdapter
    tbAdapterManager.CompetitionTableAdapter = competitionTableAdapter

    tbAdapterManager.UpdateAll(dataSet)
  Catch ex As Exception
    MessageBox.Show(ex.Message, "Saving Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
  End Try
End Sub
4

2 回答 2

0

该记录不能删除或更改,因为表中包含相关记录。(错误 3200)

您尝试执行的操作违反了相关表的参照完整性规则。例如,当“many”表中有相关​​记录时,如果您尝试以一对多关系删除或更改“one”表中的记录,则会出现此错误。

如果要删除或更改记录,首先从“many”表中删除相关记录。

这里

于 2012-11-02T00:08:26.787 回答
0

我发现该方法运行良好。问题出在数据库中,我必须配置表之间的关系并将它们设置为级联。

即在关系中启用“级联更新相关字段”和“级联删除相关字段”

于 2012-11-07T12:11:39.717 回答