DataGridView不强制执行外键约束

时间:2013-11-10 10:46:49

标签: c# .net sql winforms datagridview

我正在尝试开发业务应用程序但是我遇到了一些问题。

我有DBDataSet使用我的数据库作为其来源。

我正在使用VS通过从数据源窗口拖动到表单上来自动生成DataGridView。

我有两张桌子。 CustomerSales。它们之间存在一对一的关系,Sales的ID列引用了Customer的ID列。

但是每当我在Sales的id列中输入一个不在Customer的id列中的值时,DataGridView都不会抛出异常,而是允许输入数据。< / p>

但是,当我尝试在同一个表中输入重复的主键时,datagridview会通过抛出异常来响应。

我如何对外键约束做同样的事情。

1 个答案:

答案 0 :(得分:0)

在从数据库导入期间不会创建ForeignKeyConstraint。右键单击数据集视图中的Sales表 - &gt;添加 - &gt;关系...选择主键和外键。 “选择要创建的内容”第一个或第二个选项。或者您可以在代码中执行此操作:     this.DBDataSet.Sales.Constraints.Add(     new ForeignKeyConstraint(this.DBDataSet.Customer.IdColumn,                           this.DBDataSet.Sales.IdColumn));