UpdateAll方法相关表问题.net

时间:2012-10-29 00:03:57

标签: vb.net visual-studio-2010 tableadapter

我正在尝试使用表适配器管理器中的方法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

2 个答案:

答案 0 :(得分:0)

  

由于表格包含,因此无法删除或更改记录   相关记录。 (错误3200)

     

您尝试执行该操作   会违反相关表的参照完整性规则。   例如,如果您尝试删除或更改记录,则会发生此错误   在有一对多关系的“一”表中   “很多”表中的相关记录。

     

如果要删除或更改记录,请先删除相关内容   来自“很多”表的记录。

来自here

答案 1 :(得分:0)

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

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