【发布时间】:2011-11-15 01:24:14
【问题描述】:
我是 VB.net 的新手,并创建了一个简单的主从窗口窗体。我创建了一个包含两个表的数据集,然后将主表作为继续表单或带有多个文本框的详细表单放在表单上以保存数据。子窗体是一个数据网格。
我直接添加到数据库的测试数据在表单上显示了正确的父子关系。我还可以使用表单的仅父部分将新记录输入数据库。
当我尝试在父表单和子数据网格中输入包含数据的完整记录时,我收到此错误。
INSERT语句与FOREIGN KEY约束冲突FK_tblComplainant_tblUseOfForce。数据库发生冲突"C:\SQLFILES\CCTS_2.MDF",表格"dbo.tblUseOfForce",列'UOFID'。 声明已终止。
tblComplainant 是孩子,tblUseOfForce 是主人。保存这条记录的代码如下:
Private Sub TblUseOfForceBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesTblUseOfForceBindingNavigatorSaveItem.Click
Me.Validate()
Me.TblUseOfForceBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.UseOfForceDataSet)
End Sub
我已搜索此错误的可能原因,但找不到任何解释。我在早期版本的 VB.net 中注意到您必须输入代码来保存子记录,但 VB 2010 代码似乎没有使用相同的语法,所以我假设 UpdateAll 消除了对额外代码的需要
【问题讨论】:
-
只是附带说明,我可以输入主信息或父信息的数据并保存记录而不会出错。然后,我可以离开记录并返回并输入记录的详细信息或子部分,而在保存时不会出现错误,该错误仅在我尝试完成并保存主和详细信息时发生。
标签: vb.net vb.net-2010