2013-03-11 46 views
1

我在asp.net 4.5中使用了类型化数据集,但是当我使用tableadapter和dataset填充数据表时,我得到了强制约束错误。键入数据集 - 强制约束

“无法启用约束,一行或多行包含违反非空,唯一或外键约束的值。”在数据集中只有一行仍然是我\我得到这个错误。目前我正在使用

Dataset.EnforceConstraints = false; 

但我不想用这个。所以请给我这个解决方案。

在此先感谢。

回答

2

由于表中的约束而发生此错误。如果你在表格中使用关系,它会发生。即你的表有一个四元键成员,你不允许在主表中没有条目的情况下添加子表。 enter image description here

在图像中显示出一种关系。在table2上一列是table1的四字键。所以如果你尝试在table2中插入一个值而没有在同一个sl_no表中输入这个错误,那么这个错误将会显示出来。

+0

+1为图。此外,问题可能是来自适配器的空值,或者是因为列未包含在select中,或者当DataSet列定义具有不能为null的约束时返回null。 – Snixtor 2013-03-11 05:22:21

0

请仔细看看TDS。我确定你的TDS包含多个与你的日期设置不匹配的P.key字段。所以请通过右键单击字段从您的TDS中删除一个/一些P.Key。并再次测试。希望它能帮助你。

0

首先感谢您的帮助。我得到了解决方案。在该组合键上,我删除了主约束并将其转换为唯一约束,因为有一个可为空的列。并且有一个问题,一列的最大长度较小。我发布这个,因为它可能对未来的其他人有用。

谢谢。

+1

如果答案帮助你,请标记为答案。 – 2013-03-14 03:41:32