怎样合并这样的datatable?该怎么解决
怎样合并这样的datatable?
两个datatable的格式如下
datatbale1
s_code s_name
1 姓名一
2 姓名二
datatable2
s_code s_age
1 11
2 12
3 14
5 16
我需要合并的结果是
s_code s_name s_age
1 姓名一 11
2 姓名二 12
datatable2中s_code里在datatable1中不存在的就不需要了,如 3 和 5就不需要
我用datatable1.Merge(datatable2);它会全部显示的
------解决方案--------------------
请问一个这两个datatbale1 是怎么得到滴啊,
能否直接在数据库中合并只返回一个datatbale列
------解决方案--------------------
两个datatable的格式如下
datatbale1
s_code s_name
1 姓名一
2 姓名二
datatable2
s_code s_age
1 11
2 12
3 14
5 16
我需要合并的结果是
s_code s_name s_age
1 姓名一 11
2 姓名二 12
datatable2中s_code里在datatable1中不存在的就不需要了,如 3 和 5就不需要
我用datatable1.Merge(datatable2);它会全部显示的
------解决方案--------------------
请问一个这两个datatbale1 是怎么得到滴啊,
能否直接在数据库中合并只返回一个datatbale列
------解决方案--------------------
- C# code
建议将这种东西放在SQL里面去处理,如果一定要在程序中处理的话,可以如下: ds.Tables["datatbale1"].Columns.Add(new DataColumn("s_age")); //先给datatbale1增加一列s_age列。 for(int i=0;i<ds.Tables["datatbale1"].Rows.Count;i++) { for(int j=0;j<ds.Tables["datatbale2"].Rows.Count;j++) { if(ds.Tables["datatbale1"].Rows[i]["s_code"].ToString()==ds.Tables["datatbale2"].Rows[j]["s_code"].ToString()) //判断当两个datatable的s_code相等时,将datatbale1的s_age等于datatbale2的s_age。 { ds.Tables["datatbale1"].Rows[i]["s_age"]=ds.Tables["datatbale2"].Rows[j]["s_age"].ToString(); } } } //这样datatable1就变成楼主想要的合并后的结果了。 DataGrid1.DataSource=ds.Tables["datatbale1"]; DataGrid1.DataBind();