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. sh_04_第1个函数改造

    sh_04_第1个函数改造 name = "小明" # say_hello() # Python 解释器知道下方定义了一个函数 def say_hello(): "&qu ...

  2. ASP.NET中调用百度地图API

    1.打开链接http://developer.baidu.com/map/jshome.htm这里有很多DEMO,或者你直接百度搜索“百度地图API”,第一个就是.进入后有很多方向供你选择,由于现在开 ...

  3. 神经网络学习笔记一——Neural Network

    参考自http://deeplearning.stanford.edu/wiki/index.php/Neural_Networks 神经元模型 h(x)= f(W'x)f(z)一般会用sigmoid ...

  4. springboot日期格式转换

    post: @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") GET: @Dat ...

  5. JS - 语音

    语音识别 浏览器支持的还不是很好 语音播放 speechSynthesis.speak(new SpeechSynthesisUtterance('只要是活着的东西,神也杀给你看')); 参见 Web ...

  6. 如何将EDM数据分类工作做的更加真善美

    众所周知,数据是互联网时代营销的决定性因素,数据的好坏关乎到营销能力的强弱,而细化到EDM行业中,数据细分变得极为重要,根据数据形态的不同,将会涉及到多种不同的细分方法,有效的利用这些方法,将会大大的 ...

  7. mysql添加字段索引失败 BLOB/TEXT column 'col2' used in key specification without a key length

    看了下该表的数据结构发现col2字段类型是text ,查询了下发现是:MySQL只能将BLOB/TEXT类型字段设置索引为BLOB/TEXT数据的钱N个字符.索引指定下col2的长度就可以了 : al ...

  8. Navicat Premium Mac 12 破解方法-亲测成功

    参照这2篇文档,破解成功了.操作步骤写的很清楚,不再缀述,只记录一下自己破解过程中,认为要注意的点.以免以后再多花时间熟悉重新熟悉操作步骤 Mac安装Navicat(破解版) Navicat Prem ...

  9. 4.1.k8s.svc(Service)

    #Service Service为Pod提供4层负载均衡, 访问 -> Service -> Pod组 #4种类型 ClusterIP 默认,分配一个VIP,只能内部访问 NodePort ...

  10. 动画演示 Delphi 2007 IDE 功能[2] - 定义变量

    https://my.oschina.net/hermer/blog/319152 动画剧本: 第一个变量: 输入: var; 然后执行 Ctrl+J ... 回车 第二个变量: 执行 Ctrl+J; ...