合并2数据表
本文关键字:数据表 合并 | 更新日期: 2023-09-27 18:27:58
我有两个数据表dt和dt2
var dt = MultiCheckCombo3.GetAllChechedBox();
var dt2 =manager.GetAllStudents(student_id, classid);
在第一个表dt中有两列"id_staff"answers"name_staff第二个表中有几列,但其中有两列重复"id_staff"answers"name_staff我想用字段"id_staff"answers"name_staff"创建一个新的DataTable公共DataTable dt和dt2
这些桌子是怎么连在一起的?dt3=dt+dt2
您可以使用Linq来连接这两个表。请参见以下示例。
文章中的代码:
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 };
看看DataTable.Merge
方法:
这个来自微软的链接有一个如何进行的例子
如果dt和dt2是数据表,则可以使用数据表合并。
DataTable dt3 = dt.Copy()
dt3.Merge(dt2, false, MissingSchemaAction.Ignore)
也许是这样的:
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")
}
);