当前位置:编程学习 > C#/ASP.NET >>

两个datetable以主字段合并

table1  
id  name
1   a
2   b
3   c
4   d
table 2
id   class
1    c1
2    c2
4    c2
合并后:
id   name   class
1    a       c1
2    b       c2
3    c
4    d      c2 --------------------编程问答-------------------- 其实这种情况处理的办法很多,直接在sql里面处理,或者用linq都是可以的,下面是另外一种办法。
下面这段代码dt1对应table1 ; dt2对应table 2 ;dt3是合成之后表。

           DataTable dt3 = new DataTable();
            DataColumn dc1 = new DataColumn("ID");
            DataColumn dc2 = new DataColumn("Name");
            DataColumn dc3 = new DataColumn("Class");
            dt3.Columns.Add(dc1);
            dt3.Columns.Add(dc2);
            dt3.Columns.Add(dc3);

            foreach (DataRow dr in dt1.Rows)
            {
                DataRow d = dt3.NewRow();
                d["ID"]=dr["ID"].ToString();
                d["Name"]=dr["Name"].ToString();
                DataRow[] drs = dt2.Select("ID=" + dr["ID"].ToString());
                d["Class"] = drs.Count()==0?null:drs[0]["Class"].ToString();
                dt3.Rows.Add(d);
            }
--------------------编程问答-------------------- 上面代码的前提是你表1和表2的id是一对一的关系。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,