【问题标题】:Typed Dataset- Enforce Contraint类型化数据集 - 强制约束
【发布时间】:2013-03-11 04:16:35
【问题描述】:

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

“未能启用约束。一行或多行包含违反非空、唯一或外键约束的值。”。在数据集中只有一行我仍然收到此错误。目前我正在使用

Dataset.EnforceConstraints = false;

但我不想使用它。所以请给我解决方案。

提前致谢。

【问题讨论】:

    标签: asp.net c#-4.0 dataset


    【解决方案1】:

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

    在图像中显示了一种关系。在 table2 上,一列是 table1 的四个键。因此,如果您尝试在 table2 中插入一个值,而表中没有具有相同 sl_no 的条目,则会显示此错误。

    【讨论】:

    • +1 表示图表。此外,问题可能是来自适配器的空值,或者是因为选择中未包含列,或者当 DataSet 列定义具有不能为空的约束时它返回空值。
    【解决方案2】:

    请仔细查看 TDS。我确信您的 TDS 包含多个与您的 retrn 日期集不匹配的 P.key 字段。因此,请通过右键单击该字段从您的 TDS 中删除一个/一些 P.Key。并再次测试。希望对您有所帮助。

    【讨论】:

      【解决方案3】:

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

      谢谢。

      【讨论】:

        猜你喜欢
        • 2014-12-15
        • 1970-01-01
        • 1970-01-01
        • 2017-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-22
        相关资源
        最近更新 更多