取出不同时存在于2个DataTable中的数据

从不签到 2009-12-09 04:25:04
table1
id name age
a x x
b x x


table2
id name age
a x x
c x x
d x x

想取出
a
c
c


问问有什么比较简单,快速的方法?
...全文
128 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
从不签到 2009-12-10
  • 打赏
  • 举报
回复
只是一个例子,其实table1,table2有很多数据,不可能像9楼说得那样,一个一个列举的
从不签到 2009-12-10
  • 打赏
  • 举报
回复
写错了。。。
最后要取出b c d
不是sql
在C#中实现
mngzilin 2009-12-09
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt1 = new DataTable();
dt1.Columns.Add("id");
dt1.Columns.Add("age");
dt1.Columns.Add("name");
dt1.Rows.Add("a1", "x", "x");
dt1.Rows.Add("b1", "x", "x");

DataTable dt2 = new DataTable();
dt2.Columns.Add("id");
dt2.Columns.Add("age");
dt2.Columns.Add("name");
dt2.Rows.Add("a1", "x", "x");
dt2.Rows.Add("c1", "x", "x");
dt2.Rows.Add("d1", "x", "x");


dt1.Merge(dt2);
dt1.TableName = "test";
DataRow[] dr = dt1.Select("id='a1' or id='b1' or id='c1' ", "id asc").Clone() as DataRow[];

DataTable temp = new DataTable();
temp = dt1.Clone();
for (int i = 0; i < dr.Length; i++)
{
temp.Rows.Add(dr[i].ItemArray);//如果要去重的话,需要在此遍历temp,此处省略
}

GridView gv = new GridView();
gv.DataSource = temp;
gv.DataBind();
Form.Controls.Add(gv);
}
}
ginni215 2009-12-09
  • 打赏
  • 举报
回复
把两个表的数据合并到一个表table3里面,然后从table3里面remove掉table1(table和table2行少的表)的所有行,需要遍历下,可以这样试试~~
zhangyanyang 2009-12-09
  • 打赏
  • 举报
回复
连接查询
zhangyanyang 2009-12-09
  • 打赏
  • 举报
回复
楼主要的是a,b,c 吧
hbbliyong 2009-12-09
  • 打赏
  • 举报
回复
详细点,太模糊了,最后说明你的目的
lang_csdn 2009-12-09
  • 打赏
  • 举报
回复
帮顶!试了一下写不出来简单的方法
gablfq 2009-12-09
  • 打赏
  • 举报
回复
哎,现在的人问的问题都好含糊噢、、、
jiangshun 2009-12-09
  • 打赏
  • 举报
回复
结果搞错了吧?

b
c
d
????

是在sql中还是在c#中?
liherun 2009-12-09
  • 打赏
  • 举报
回复
不懂

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧