奇怪:枪毙dataset中的一个表时,它挂出免死金牌,气得我直吐血...哪位军事指点一下?谢谢万恶的.NET错误提示:“/xxx”应用程序中的服务器错误。
---------------------------------------------------------------------约束“CategoryRelation”不属于此 DataTable。 说我的下面这行代码错, 注释掉这行下面哪行又出错。
ds.Tables["currentCategory"].Constraints.Remove("CategoryRelation");当然如果用上这行可以消除错误,但感觉未找到病根。
ds.EnforceConstraints=false;
源码如下:
----------------------------------------------------------------------
Category category  = new  Category(); DataSet ds = new DataSet();

SqlDataAdapter da = category.GetSubList( m_categoryId , m_type ); if(da!=null)
{
da.Fill(ds,"subCategory"); da = category.GetCurrentList( m_categoryId , m_type );
da.Fill(ds,"currentCategory"); ds.Relations.Add("CategoryRelation", 
ds.Tables["currentCategory"].Columns["categoryId"],
ds.Tables["subCategory"].Columns["ParentCategoryId"]); repLeftCategory.DataSource = ds.Tables["currentCategory"];
repLeftCategory.DataBind();

//ds.EnforceConstraints=false;
ds.Relations.Remove("CategoryRelation"); ds.Tables["currentCategory"].Constraints.Remove("CategoryRelation");
ds.Tables.Remove("currentCategory");
}

解决方案 »

  1.   

    更正:用上ds.EnforceConstraints=false; 移除表时仍然出错当然, 不移除表时,他不出错。
      

  2.   

    是从DataSet中移除,不是从DataTable中移除啊!
      

  3.   

    ds.Tables["currentCategory"].Constraints.Remove("CategoryRelation");
    这一句代码有问题:
    因为Constraints.Remove("CategoryRelation");是删除指定的表,这里是
    CategoryRelation表,但CategoryRelation是你先前建的关系,此关系也删除
    所以这里直接改成
    ds.Tables.Remove("subCategory");
    然后在删除
    ds.Tables.Remove("currentCategory");
    就可以了
      

  4.   

    严重表述错误:因为Constraints.Remove("CategoryRelation");是删除指定的表不是的,CategoryRelation是subCategory和currentCategory表之间的结婚证(两表的关系)不知是不是因为假结婚证的原因,subCategory想离婚,并杀掉currentCategory,现在问题就是杀不死她
      

  5.   

    wangsaokui(无间道III(终极无间)) 大哥!如果不用Tables,怎么从DataSet中删除表呢?   是从DataSet中移除,不是从DataTable中移除啊!
     
     
      

  6.   

    up
    问一下Category category  = new  Category();
    是在什么东西
    tks
      

  7.   

    Dear: rickjelly2004(rick & jelly)我提交了ds.acceptedchage()还是不行,实际上中间也未对数据做修改,恐怕是万