不能启用此约束,因为不是所有的值都具有相应的父值的解决方法[网络转载]

也许你们在做ASP.NE程序时,做dataset主从表嵌套时,如果进行主表筛选时会出现

不能启用此约束,因为不是所有的值都具有相应的父值



首先要明白这句话的意思先,这句话的意民是,子表的数据不是每一个值在主表中都有相联系的值。
通常我们做dataset两个表的嵌套时,会使用一个ID把两个表关联起来,写法如下

DataRelation datasetRelation=ds.Relations.Add("myrela", ds.Tables[0].Columns["CaseID"], ds.Tables[1].Columns["CaseID"]);



正常情况下不作主表筛选时,可以很正常的显示,如果对主表删除数据,OR主表筛选时,比方说把主表中日期为
2007-03-27进行筛选时,那就会出现

不能启用此约束,因为不是所有的值都具有相应的父值

的错误

因为子表中的ID表比主表中的ID值多,所以就会出现这样的错误

解决方法很简单

DataRelation datasetRelation=ds.Relations.Add("myrela", ds.Tables[0].Columns["CaseID"], ds.Tables[1].Columns["CaseID"],false);



加个false就行了

原文地址:https://www.cnblogs.com/andiki/p/1436549.html