1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. DataTable dt = new DataTable();
  4. dt.Columns.Add("col");
  5. for (int i = 5; i >0;i=i-2)
  6. {
  7. DataRow row = dt.NewRow();
  8. row["col"] = "车" + i;
  9. dt.Rows.Add(row);
  10. }
  11. DataTable dt1 = new DataTable();
  12. dt1.Columns.Add("col1");
  13. for (int i = 1; i <= 4; i++)
  14. {
  15. DataRow row = dt1.NewRow();
  16. row["col1"] = "车" + i;
  17. dt1.Rows.Add(row);
  18. }
  19. DataTable resultTable = cf(dt,dt1);
  20. Response.Write("重复:");
  21. for (int i = 0; i < resultTable.Rows.Count; i++)
  22. Response.Write(resultTable.Rows[i]["col"].ToString());
  23. Response.Write("<br/>");
  24. resultTable = bcfbyd1tod2(dt, dt1);
  25. Response.Write("不重复 d1tod2:");
  26. for (int i = 0; i < resultTable.Rows.Count; i++)
  27. Response.Write(resultTable.Rows[i]["col"].ToString());
  28. Response.Write("<br/>");
  29. resultTable = bcfbyd2tod1(dt, dt1);
  30. Response.Write("不重复 d2tod1:");
  31. for (int i = 0; i < resultTable.Rows.Count; i++)
  32. Response.Write(resultTable.Rows[i]["col"].ToString());
  33. Response.Write("<br/>");
  34. }
  35. /// <summary>
  36. /// 取重复
  37. /// </summary>
  38. /// <param name="dt"></param>
  39. /// <param name="dt1"></param>
  40. /// <returns></returns>
  41. private DataTable cf(DataTable dt, DataTable dt1)
  42. {
  43. DataTable myTable = dt.Clone();
  44. for (int i = 0; i < dt.Rows.Count; i++)
  45. {
  46. DataRow[] sRow= dt1.Select("col1='"+dt.Rows[i]["col"].ToString()+"'");
  47. if (sRow.Length > 0)
  48. {
  49. DataRow row= myTable.NewRow();
  50. row["col"] = dt.Rows[i]["col"].ToString();
  51. myTable.Rows.Add(row);
  52. }
  53. }
  54. return myTable;
  55. }
  56. /// <summary>
  57. /// 不重复d1tod2
  58. /// </summary>
  59. /// <param name="dt"></param>
  60. /// <param name="dt1"></param>
  61. /// <returns></returns>
  62. private DataTable bcfbyd1tod2(DataTable dt, DataTable dt1)
  63. {
  64. DataTable myTable = dt.Clone();
  65. for (int i = 0; i < dt.Rows.Count; i++)
  66. {
  67. DataRow[] sRow = dt1.Select("col1='" + dt.Rows[i]["col"].ToString() + "'");
  68. if (sRow.Length == 0)
  69. {
  70. DataRow row = myTable.NewRow();
  71. row["col"] = dt.Rows[i]["col"].ToString();
  72. myTable.Rows.Add(row);
  73. }
  74. }
  75. return myTable;
  76. }
  77. /// <summary>
  78. /// 不重复d1tod2
  79. /// </summary>
  80. /// <param name="dt"></param>
  81. /// <param name="dt1"></param>
  82. /// <returns></returns>
  83. private DataTable bcfbyd2tod1(DataTable dt, DataTable dt1)
  84. {
  85. DataTable myTable = dt.Clone();
  86. for (int i = 0; i < dt1.Rows.Count; i++)
  87. {
  88. DataRow[] sRow = dt.Select("col='" + dt1.Rows[i]["col1"].ToString() + "'");
  89. if (sRow.Length == 0)
  90. {
  91. DataRow row = myTable.NewRow();
  92. row["col"] = dt1.Rows[i]["col1"].ToString();
  93. myTable.Rows.Add(row);
  94. }
  95. }
  96. return myTable;
  97. }
  98. http://blog.csdn.net/yeness/article/details/7817032

两个 DataTable 读取重复数据,dataTable1与dataTable2不同的更多相关文章

  1. 两个 DataTable 读取重复数据

    今天正好用到Excel 导入转换成table , 文件中数据要和数据库里数据进行比对,有重复的抛出重复数据. 和大家分享下,欢迎高手留言指点.有问题可以留言关注! /// <summary> ...

  2. 【转载】C#的Merge方法合并两个DataTable对象的数据

    在C#中的Datatable类中,可以使用DataTable类的Merge方法对两个相同结构的DataTable对象进行求并集运算,将两个DataTable对象的数据行合并到其中一个DataTable ...

  3. C# 两个datatable中的数据快速比较返回交集或差集[z]

    最基本的写法无非是写多层foreach循环,数据量多了,循环的次数是乘积增长的. 这里推荐使用Except()差集.Intersect()交集,具体性能没有进行对比. 如果两个datatable的字段 ...

  4. C# 两个datatable中的数据快速比较返回交集或差集

    转自: https://www.cnblogs.com/lacey/p/5893380.html 如果两个datatable的字段完全一致的话,可以直接使用Except,Intersect //Exc ...

  5. C# 高效过滤DataTable 中重复数据方法

    使用DataView,然后设置ToTable,设置几个字段和一个布尔值,表示这些字段作为一个整体,在这个表内不允许重复,示例代码: namespace A { class Program { stat ...

  6. C# DataTable 去重复数据方法

    //获取dt中Id,Value 2个字段不重复的数据 newDt = dt.DefaultView.ToTable(true, "Id","Value" );

  7. c# 利用IEqualityComparer接口去除DataTable重复数据

    IEqualityComparer主要适用于定义方法以支持对象的相等比较.可以实现集合的自定义相等比较.即,您可以创建自己的相等定义,并指定此定义与接受 IEqualityComparer 接口的集合 ...

  8. 重复数据删除(De-duplication)技术研究(SourceForge上发布dedup util)

    dedup util是一款开源的轻量级文件打包工具,它基于块级的重复数据删除技术,可以有效缩减数据容量,节省用户存储空间.目前已经在Sourceforge上创建项目,并且源码正在不断更新中.该工具生成 ...

  9. JS求多个数组的重复数据

    今天朋友问了我这个问题:JS求多个数组的重复数据 注: 1.更准确的说是只要多个数组中有两个以上的重复数据,那么这个数据就是我需要的 2.单个数组内的数据不存在重复值(当然如果有的话,你可以去重) 3 ...

随机推荐

  1. IdentityServer4

    序言 IdentityServer4能做什么 Identity Server 4(以下简称ID4)是一个基于oauth2和OpenID的身份认证组件,基于这个组件可以快速开发自己的身份认证网站,支持单 ...

  2. UVa 11235 Frequent values (RMQ && 区间出现最多次的数的次数)

    题意 : 给出一个长度为 n 的不降序序列,并且给出 q 个形如(L, R)的问询,问你这个区间出现的最多次的数的次数. 分析 : 很自然的想到将区间“缩小”,例如1 1 2 3 3 3就可以变成2 ...

  3. 【gym102394A】Artful Paintings(差分约束系统,二分)

    题意:给定一个长为n的序列,每个位置可以选择取或不取,要求构造方案使得: 1.对于前M1个约束,区间[L,R]内取的数量必须严格不少于K 2.对于后M2个约束,区间[L,R]外取的数量必须严格不少于K ...

  4. 洛谷P3943 星空——题解

    一道很好的锻炼思维难度的题,如果您能在考场上直接想出来的话,提高组450分以上就没问题了吧.(别像作者一样看了好几篇题解才勉强会) 先提取出题目大意:给定一个长度n<=40000的01串,其中1 ...

  5. (61)C语言预处理命令详解

    一  前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作.预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置. 预处理是C语言的一个重要功能 ...

  6. java web程序上传文件,浏览器显示连接被重置

    上传文件时,到13%时浏览器显示连接被重置如图: 参考网上很多方法 比如设置server.xml 的相应大小.时间,然并没有解决问题 connectionTimeout="2000000&q ...

  7. 大哥带的MSsql注入(SQL Server)--预习

    ①判断数据库类型and exists (select * from sysobjects)--返回正常为mssql(也名sql server)and exists (select count(*) f ...

  8. flask中request对象获取参数的方法

    从当前request获取内容: method: 起始行,元数据 host: 起始行,元数据 path: 起始行,元数据 environ: 其中的 SERVER_PROTOCOL 是起始行,元数据 he ...

  9. 使用http-server在本地搭建一个HTTP服务器

    安装http-server 在控制台中输入 npm install http-server -g 进行全局安装 共享资源 进入需要共享资源的目录,比如 D:\,然后在控制台中输入 http-serve ...

  10. Spring Data JPA学习笔记

    下面先来介绍一下JPA中一些常用的查询操作: //And --- 等价于 SQL 中的 and 关键字,比如 findByHeightAndSex(int height,char sex): publ ...