请问大家有没在,在DataSet中做过两个表之间的建立关系了,是不是可以用DataRelation 对象建立关系呢?
   但如果,是两个表之间,是要用两个字段的组合,才能建立关系。比如说:    A表(Afiled1,Afiled2,Afiled3,…………)    B表(Afiled1,Afiled2,Bfiled3,Bfiled4…………)
请问怎么写那个关系连接代码呢?

解决方案 »

  1.   

    DataSet.Relations.Add("关联名称", 父关联主键字段, 子关联外来键字段)  
    DataTable dt1 = new DataTable();
    DataTable dt2 = new DataTable();
    ds.Tables.Add(dt1);  
    ds.Tables.Add(dt2);  
    DataRelation dsdr = new DataRelation("Position", ds.Tables[0].Columns["id"], ds.Tables[1].Columns["id"]);  
    ds.Relations.Add(dsdr);  select a.* from Aa left join B b on a.Afiled=b.Afiled and a.Afiled2=b.Afiled2
      

  2.   

    用DataRelation建立两个表之间的关系:
    DataRelation tbRel= new DataRelation("关系名", tableParent.Columns["columnName"], tableChild.Columns["columnName"]);  
    建立关系的时候,指定关系的名称(参数1),指定父表关系字段(参数2),指定子表关系字段(参数3)
      

  3.   

    是可以的.//创建两个DataColumns
    DataColumn parentColumn;
    DataColumn childColumd;//把这二列设置为父列和子列的实例
    parentColumn = myDataSet.Tables["Customers"].Columns["CustomerID"];
    chilkdColumn = myDataSet.Tables["Orders"].Columns["CustomerID"];//创建一个新的DataRelation对象
    DataRelation customersToOrders=new DataRelation("CustomerID",parantColumn,childColumn);//把DataRelation添加至DataSet.Relation集合中
    myDataSet.Relations.Add(customersToOrders);
      

  4.   

    用数组实现: 
    Dim parentcol() As DataColumn = {myDateSet.Table(0).Columns("f1"), myDateSet.Table(0).Columns("f2")}
            Dim childcol() As DataColumn = {myDateSet.Table(1).Columns("f1"), myDateSet.Table(1).Columns("f2")}
           myRelation = New DataRelation("every one", parentcol, childcol)
            myDateSet.Relations.Add(myRelation)