• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
聞道有先后,术业有专攻
习惯成自然
博客园    首页    新随笔    联系   管理    订阅  订阅

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

不能启用此约束,因为不是所有的值都具有相应的父值的解决方法
2008-02-27 11:06
也许你们在做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 @ 2009-06-05 15:55  张立余  阅读(564)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3