【问题标题】:merge 2 datatable合并 2 数据表
【发布时间】:2012-03-14 13:58:54
【问题描述】:

我有 2 个数据表 dt 和 dt2

 var dt = MultiCheckCombo3.GetAllChechedBox();

 var dt2 =manager.GetAllStudents(student_id, classid);

在第一个表 dt 中有两列“id_staff”和“name_staff” 在第二个表中有几列,但其中 2 列重复“id_staff”和“name_staff” 我想用字段“id_staff”和“name_staff”共同创建一个新的DataTable dt 和dt2

如何加入这些表? dt3=dt+dt2

【问题讨论】:

    标签: c# asp.net datatable


    【解决方案1】:

    您可以使用 Linq 来连接这两个表。请参阅以下example

    文章代码:

    var innerGroupJoinQuery =
        from category in categories
        join prod in products on category.ID equals prod.CategoryID into prodGroup
        select new { CategoryName = category.Name, Products = prodGroup };
    

    【讨论】:

      【解决方案2】:

      看看DataTable.Merge方法:

      来自 Microsoft 的This link 有一个如何做到这一点的示例

      【讨论】:

        【解决方案3】:

        如果 dt 和 dt2 是 DataTables,则可以使用 datatable 合并。

        DataTable dt3 = dt.Copy()
        dt3.Merge(dt2, false, MissingSchemaAction.Ignore)
        

        【讨论】:

          【解决方案4】:

          可能是这样的:

          var dt=new DataTable();
          dt.Columns.Add("id_staff",typeof(int));
          dt.Columns.Add("name_staff",typeof(string));
          
          var dt2=new DataTable();
          dt2.Columns.Add("id_staff",typeof(int));
          dt2.Columns.Add("name_staff",typeof(string));
          
          dt.Rows.Add(1,"test");
          dt2.Rows.Add(2,"test2");
          
          var result= 
          (
              from datatable1 in dt.AsEnumerable()
              select new
              {
                 id_staff=datatable1.Field<int>("id_staff"),
                 name_staff=datatable1.Field<string>("name_staff")
              }
          ).Concat
          (
              from datatable2 in dt2.AsEnumerable()
              select new
              {
                 id_staff=datatable2.Field<int>("id_staff"),
                 name_staff=datatable2.Field<string>("name_staff")
              }
           );
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-04-02
            • 2014-03-30
            • 1970-01-01
            • 1970-01-01
            • 2021-04-12
            • 1970-01-01
            • 1970-01-01
            • 2010-09-22
            相关资源
            最近更新 更多