天涯之外

导航

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

也许你们在做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就行了

posted on 2009-03-26 17:05  天涯之外  阅读(299)  评论(0编辑  收藏  举报