两个 DataTable 读取重复数据,dataTable1与dataTable2不同
- protected void Page_Load(object sender, EventArgs e)
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("col");
- for (int i = 5; i >0;i=i-2)
- {
- DataRow row = dt.NewRow();
- row["col"] = "车" + i;
- dt.Rows.Add(row);
- }
- DataTable dt1 = new DataTable();
- dt1.Columns.Add("col1");
- for (int i = 1; i <= 4; i++)
- {
- DataRow row = dt1.NewRow();
- row["col1"] = "车" + i;
- dt1.Rows.Add(row);
- }
- DataTable resultTable = cf(dt,dt1);
- Response.Write("重复:");
- for (int i = 0; i < resultTable.Rows.Count; i++)
- Response.Write(resultTable.Rows[i]["col"].ToString());
- Response.Write("<br/>");
- resultTable = bcfbyd1tod2(dt, dt1);
- Response.Write("不重复 d1tod2:");
- for (int i = 0; i < resultTable.Rows.Count; i++)
- Response.Write(resultTable.Rows[i]["col"].ToString());
- Response.Write("<br/>");
- resultTable = bcfbyd2tod1(dt, dt1);
- Response.Write("不重复 d2tod1:");
- for (int i = 0; i < resultTable.Rows.Count; i++)
- Response.Write(resultTable.Rows[i]["col"].ToString());
- Response.Write("<br/>");
- }
- /// <summary>
- /// 取重复
- /// </summary>
- /// <param name="dt"></param>
- /// <param name="dt1"></param>
- /// <returns></returns>
- private DataTable cf(DataTable dt, DataTable dt1)
- {
- DataTable myTable = dt.Clone();
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- DataRow[] sRow= dt1.Select("col1='"+dt.Rows[i]["col"].ToString()+"'");
- if (sRow.Length > 0)
- {
- DataRow row= myTable.NewRow();
- row["col"] = dt.Rows[i]["col"].ToString();
- myTable.Rows.Add(row);
- }
- }
- return myTable;
- }
- /// <summary>
- /// 不重复d1tod2
- /// </summary>
- /// <param name="dt"></param>
- /// <param name="dt1"></param>
- /// <returns></returns>
- private DataTable bcfbyd1tod2(DataTable dt, DataTable dt1)
- {
- DataTable myTable = dt.Clone();
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- DataRow[] sRow = dt1.Select("col1='" + dt.Rows[i]["col"].ToString() + "'");
- if (sRow.Length == 0)
- {
- DataRow row = myTable.NewRow();
- row["col"] = dt.Rows[i]["col"].ToString();
- myTable.Rows.Add(row);
- }
- }
- return myTable;
- }
- /// <summary>
- /// 不重复d1tod2
- /// </summary>
- /// <param name="dt"></param>
- /// <param name="dt1"></param>
- /// <returns></returns>
- private DataTable bcfbyd2tod1(DataTable dt, DataTable dt1)
- {
- DataTable myTable = dt.Clone();
- for (int i = 0; i < dt1.Rows.Count; i++)
- {
- DataRow[] sRow = dt.Select("col='" + dt1.Rows[i]["col1"].ToString() + "'");
- if (sRow.Length == 0)
- {
- DataRow row = myTable.NewRow();
- row["col"] = dt1.Rows[i]["col1"].ToString();
- myTable.Rows.Add(row);
- }
- }
- return myTable;
- }
- http://blog.csdn.net/yeness/article/details/7817032
两个 DataTable 读取重复数据,dataTable1与dataTable2不同的更多相关文章
- 两个 DataTable 读取重复数据
今天正好用到Excel 导入转换成table , 文件中数据要和数据库里数据进行比对,有重复的抛出重复数据. 和大家分享下,欢迎高手留言指点.有问题可以留言关注! /// <summary> ...
- 【转载】C#的Merge方法合并两个DataTable对象的数据
在C#中的Datatable类中,可以使用DataTable类的Merge方法对两个相同结构的DataTable对象进行求并集运算,将两个DataTable对象的数据行合并到其中一个DataTable ...
- C# 两个datatable中的数据快速比较返回交集或差集[z]
最基本的写法无非是写多层foreach循环,数据量多了,循环的次数是乘积增长的. 这里推荐使用Except()差集.Intersect()交集,具体性能没有进行对比. 如果两个datatable的字段 ...
- C# 两个datatable中的数据快速比较返回交集或差集
转自: https://www.cnblogs.com/lacey/p/5893380.html 如果两个datatable的字段完全一致的话,可以直接使用Except,Intersect //Exc ...
- C# 高效过滤DataTable 中重复数据方法
使用DataView,然后设置ToTable,设置几个字段和一个布尔值,表示这些字段作为一个整体,在这个表内不允许重复,示例代码: namespace A { class Program { stat ...
- C# DataTable 去重复数据方法
//获取dt中Id,Value 2个字段不重复的数据 newDt = dt.DefaultView.ToTable(true, "Id","Value" );
- c# 利用IEqualityComparer接口去除DataTable重复数据
IEqualityComparer主要适用于定义方法以支持对象的相等比较.可以实现集合的自定义相等比较.即,您可以创建自己的相等定义,并指定此定义与接受 IEqualityComparer 接口的集合 ...
- 重复数据删除(De-duplication)技术研究(SourceForge上发布dedup util)
dedup util是一款开源的轻量级文件打包工具,它基于块级的重复数据删除技术,可以有效缩减数据容量,节省用户存储空间.目前已经在Sourceforge上创建项目,并且源码正在不断更新中.该工具生成 ...
- JS求多个数组的重复数据
今天朋友问了我这个问题:JS求多个数组的重复数据 注: 1.更准确的说是只要多个数组中有两个以上的重复数据,那么这个数据就是我需要的 2.单个数组内的数据不存在重复值(当然如果有的话,你可以去重) 3 ...
随机推荐
- 把数据存储到 XML 文件
通常,我们在数据库中存储数据.不过,如果希望数据的可移植性更强,我们可以把数据存储 XML 文件中. 创建并保存 XML 文件 如果数据要被传送到非 Windows 平台上的应用程序,那么把数据保存在 ...
- XML 属性
XML 属性 从 HTML,你会回忆起这个:<img src="computer.gif">."src" 属性提供有关 <img> 元素 ...
- HDU 2795 Billboard (线段树单点更新 && 求区间最值位置)
题意 : 有一块 h * w 的公告板,现在往上面贴 n 张长恒为 1 宽为 wi 的公告,每次贴的地方都是尽量靠左靠上,问你每一张公告将被贴在1~h的哪一行?按照输入顺序给出. 分析 : 这道题说明 ...
- strcat()与strcpy()用法
1.strcpy (1)原型 extern char *strcpy(char *dest,char *src); (2)用法 #include <cstring> (3)功能 把src所 ...
- TTTTTTTTTTT LA 4329 BIT模版
题意: 有n个打乒乓球的人,住在一排房子内,以房子的顺序从做到由,每个人都有一个不同的乒乓球等级ai.每次比赛需要三人,两人比赛和一人裁判,裁判必须居住在两个比赛者之间,且等级必须也在两个人之间.问最 ...
- 域名、主机名与URL
什么是域名? google.com.baidu.com.163.com等. 域名.主机名与URL例子 例子1: http://mail.163.com/index.html 1)http://:这个是 ...
- 十四、RF中SSHLibrary库介绍
A.安装SSHLibrary: pip2 install robotframework-sshlibrary (导入SSHLibrary) B.远程连接linux服务器 1.#连接linux服 ...
- 【linux】cp 批量复制文件
[需求]: 有2个文件夹a,b,现在需要将a文件夹下的所有文件(aa.py,a2.py,a3.py)都复制到b文件夹(空文件夹) [解决办法]: 首先想到的是使用正则表达式,但是发现在linux中,只 ...
- web可拖动控件js
先下载:http://code.jquery.com/ui/1.10.3/jquery-ui.js $('.i-i-yuan').draggable({ containment: '#app'//可通 ...
- node.js ffmpeg-concat 命令行形式处理多个视频的过度效果
ffmpeg-concat 是利用 gl-transitions 处理多个视频的过度效果.详细说明参见 https://github.com/transitive-bullshit/ffmpeg-co ...