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. 安装原版 Windows 7 后需要安装的微软更新 和 必备系统组件

    Windows 7 SP1 和 Windows Server 2008 R2 SP1 更新历史记录 https://support.microsoft.com/zh-cn/help/4009469 微 ...

  2. 记一次创建svc代理失败

    在看尚硅谷的k8s视频中,学到ingress代理的时候,由于之前按照视频安装了V1.15.1,后面环境又出了问题,重新安装了 16.1的,为这次失败埋下了伏笔. 教案中的yaml apiVersion ...

  3. Zookeeper简介及安装(一)

    1 Zookeeper入门1.1 概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1.2 特点 1.3 数据结构 1.4 应用场景提供的服务包括:统一命名服务 ...

  4. https: could not reliably determine the server's fully qualified domain name, using localhost.localdomain.

    1. 用记事本打开 将里面的 #ServerName localhost:80 注释去掉即可. 再执行 然后可以通过浏览器访问 http://localhost:80 ,如果页面显示 “It work ...

  5. rollup的学习

    概述(Overview) Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序.Rollup 对代码模块使用新的标准化格式,这些 ...

  6. GIT的安装和配置

  7. 多网卡情况下接收udp组播

    多网卡下接收udp组播 往往会接收失败 因为用错了网卡 例如我想要接收2网段 其他电脑出的udp组播  我电脑有有线网和wifi在window下可以这样 route add 230.0.0.1 mas ...

  8. 让hibernate支持mysql的text或者longtext

    public class CustomDialect extends MySQL5Dialect { public CustomDialect() { super(); registerHiberna ...

  9. np.random.shuffle(x)与np.random.permutation(x)

    来自:https://blog.csdn.net/brucewong0516/article/details/79012233 将数组打乱随机排列 两种方法: np.random.shuffle(x) ...

  10. Docker部署MySQL8并实现远程连接

    1. 拉取镜像 docker pull mysql 2. 运行镜像启动容器 docker run --name mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=y ...