VB.net 两个或多个DataTable之间取交集

@YL 2019-07-17 01:53:20
各位大神,我是纯小白一个,求教两个或多个DataTable之间取交集并把交集存到一个新的DataTable里面,有谁能给点实例code,非常感谢!!!
...全文
317 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43863089 2019-07-18
  • 打赏
  • 举报
回复
顶一个
ManBOyyy 2019-07-18
  • 打赏
  • 举报
回复
截圖舉例子啊,
@YL 2019-07-18
  • 打赏
  • 举报
回复
引用 6 楼 ManBOyyy 的回复:
如果多個tatable沒有主外鍵的,只是想合併到最後的話,都是以下這個方式
dt3.Merge(dt2);
dt3.Merge(dt4);
dt3.Merge(dt5);
dt3.Merge(dt6);


上午测试测取交集还生效呢,现在不生效了。。。。

引用 8 楼 ManBOyyy 的回复:
DataTable dt1 = new DataTable();
dt1.Columns.Add("ID ", typeof(int));
dt1.Columns.Add("Name ", typeof(string));
dt1.Rows.Add(1, "Age ");
dt1.Rows.Add(2, "Apple ");

DataTable dt2 = new DataTable();
dt2.Columns.Add("ID ", typeof(int));
dt2.Columns.Add("Name ", typeof(string));
dt2.Rows.Add(1, "Age ");
dt2.Rows.Add(2, "Apple ");



DataTable dt3 = new DataTable();
dt3.Columns.Add("ID ", typeof(int));
dt3.Columns.Add("Name ", typeof(string));
dt3.Rows.Add(1, "Age ");
dt3.Rows.Add(2, "Apple ");
dtnew=dt1.Clone();
dtnew.Merge(dt1);
dtnew.Merge(dt2);
dtnew.Merge(dt3);
dtnew.Merge(dt4);



我现在测试出来的是合并啊,并不是去他们的交集,我的两个表结构都一样,只保留相同的数据
ManBOyyy 2019-07-18
  • 打赏
  • 举报
回复
DataTable dt1 = new DataTable();
dt1.Columns.Add("ID ", typeof(int));
dt1.Columns.Add("Name ", typeof(string));
dt1.Rows.Add(1, "Age ");
dt1.Rows.Add(2, "Apple ");

DataTable dt2 = new DataTable();
dt2.Columns.Add("ID ", typeof(int));
dt2.Columns.Add("Name ", typeof(string));
dt2.Rows.Add(1, "Age ");
dt2.Rows.Add(2, "Apple ");



DataTable dt3 = new DataTable();
dt3.Columns.Add("ID ", typeof(int));
dt3.Columns.Add("Name ", typeof(string));
dt3.Rows.Add(1, "Age ");
dt3.Rows.Add(2, "Apple ");
dtnew=dt1.Clone();
dtnew.Merge(dt1);
dtnew.Merge(dt2);
dtnew.Merge(dt3);
dtnew.Merge(dt4);
@YL 2019-07-18
  • 打赏
  • 举报
回复
引用 6 楼 ManBOyyy 的回复:
如果多個tatable沒有主外鍵的,只是想合併到最後的話,都是以下這個方式
dt3.Merge(dt2);
dt3.Merge(dt4);
dt3.Merge(dt5);
dt3.Merge(dt6);


上午测试测取交集还生效呢,现在不生效了。。。。
ManBOyyy 2019-07-18
  • 打赏
  • 举报
回复
如果多個tatable沒有主外鍵的,只是想合併到最後的話,都是以下這個方式
dt3.Merge(dt2);
dt3.Merge(dt4);
dt3.Merge(dt5);
dt3.Merge(dt6);
@YL 2019-07-18
  • 打赏
  • 举报
回复
引用 1 楼 ManBOyyy 的回复:
DataTable dt1 = new DataTable();
dt1.Columns.Add("ID ", typeof(int));
dt1.Columns.Add("Name ", typeof(string));
dt1.PrimaryKey = new DataColumn[] { dt1.Columns[0] };
dt1.Rows.Add(1, "Age ");
dt1.Rows.Add(2, "Apple ");
dt1.Rows.Add(3, "Orange ");

DataTable dt2 = new DataTable();
dt2.Columns.Add("ID ", typeof(int));
dt2.Columns.Add("Price ", typeof(decimal));
dt2.PrimaryKey = new DataColumn[] { dt2.Columns[0] };
dt2.Rows.Add(1, 10);
//dt2.Rows.Add(2, 6);
dt2.Rows.Add(3, 7);

DataTable dt3 = dt1.Copy();
dt3.Merge(dt2);


如果有多个的话,怎么做?两个两个的合并吗
@YL 2019-07-18
  • 打赏
  • 举报
回复
merge里面可以填几个参数?如果有多个的话,只能两个两个合并吗?
@YL 2019-07-18
  • 打赏
  • 举报
回复
merge里面可以填几个参数?只能两个两个合并吗?
ManBOyyy 2019-07-17
  • 打赏
  • 举报
回复
DataTable dt1 = new DataTable();
dt1.Columns.Add("ID ", typeof(int));
dt1.Columns.Add("Name ", typeof(string));
dt1.PrimaryKey = new DataColumn[] { dt1.Columns[0] };
dt1.Rows.Add(1, "Age ");
dt1.Rows.Add(2, "Apple ");
dt1.Rows.Add(3, "Orange ");

DataTable dt2 = new DataTable();
dt2.Columns.Add("ID ", typeof(int));
dt2.Columns.Add("Price ", typeof(decimal));
dt2.PrimaryKey = new DataColumn[] { dt2.Columns[0] };
dt2.Rows.Add(1, 10);
//dt2.Rows.Add(2, 6);
dt2.Rows.Add(3, 7);

DataTable dt3 = dt1.Copy();
dt3.Merge(dt2);

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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