无法向作为两个嵌套关系中的子表的 DataTable 添加约束

Posted

技术标签:

【中文标题】无法向作为两个嵌套关系中的子表的 DataTable 添加约束【英文标题】:Cannot add constraint to DataTable which is a child table in two nested relations 【发布时间】:2010-09-27 13:16:11 【问题描述】:
void ReadXMLData()
    
        string filePath = @"D:\XMLFiles\cms.xml";
        DataSet ds = new DataSet();
        ds.EnforceConstraints = false;
        ds.ReadXml(filePath);
    

当我阅读上面的 xml 文件时,我得到了错误:无法向 DataTable 添加约束,这是两个嵌套关系中的子表。

请帮助我如何克服提到的 DataSet 异常?

提前致谢。

【问题讨论】:

【参考方案1】:

您对 XML 格式有任何控制权吗?我相信不完全支持子节点与祖先节点同名的 XML。你会这样吗?

编辑:这可能会有所帮助:http://www.codeproject.com/KB/cpp/dataset.aspx。 (MC++,但同样的原则适用)。

【讨论】:

【参考方案2】:

xml 数据被加载到 VS.NET 2005 xml 编辑器中

右键单击“查看数据网格”会产生 “无法对数据表‘xxx’添加约束,它是两个嵌套关系中的子表”

但是,如果您在 and 之前移动元素,或者如果您删除 or 右键单击“查看数据网格”正确显示数据网格。请注意 和 是相同的。

【讨论】:

以上是关于无法向作为两个嵌套关系中的子表的 DataTable 添加约束的主要内容,如果未能解决你的问题,请参考以下文章

如何将嵌套的子表值与父表行关联并插入子表值对应于php中的父表行

MySql 查询出对应子表的某个字段,并且关联起来

数据库错题库第八章8.9(SC表是S表的子表,那么S与SC之间的关系)

Hibernate:具有两个不同的 ManyToOne 关系的子表

为啥我需要将子表的主键作为父表的外键,而不是相反的 1:1 识别关系?

如何从 Spring Boot 项目中的子子表中检索数据?