两个 DataTable 读取重复数据,dataTable1与dataTable2不同

  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.   
  12.   
  13.            DataTable dt1 = new DataTable();  
  14.            dt1.Columns.Add("col1");  
  15.            for (int i = 1; i <= 4; i++)  
  16.            {  
  17.                DataRow row = dt1.NewRow();  
  18.                row["col1"] = "车" + i;  
  19.                dt1.Rows.Add(row);     
  20.            }  
  21.   
  22.            DataTable resultTable = cf(dt,dt1);  
  23.            Response.Write("重复:");  
  24.            for (int i = 0; i < resultTable.Rows.Count; i++)  
  25.                Response.Write(resultTable.Rows[i]["col"].ToString());  
  26.   
  27.            Response.Write("<br/>");  
  28.   
  29.   
  30.            resultTable = bcfbyd1tod2(dt, dt1);  
  31.            Response.Write("不重复 d1tod2:");  
  32.            for (int i = 0; i < resultTable.Rows.Count; i++)  
  33.                Response.Write(resultTable.Rows[i]["col"].ToString());  
  34.   
  35.            Response.Write("<br/>");  
  36.   
  37.   
  38.            resultTable = bcfbyd2tod1(dt, dt1);  
  39.            Response.Write("不重复 d2tod1:");  
  40.            for (int i = 0; i < resultTable.Rows.Count; i++)  
  41.                Response.Write(resultTable.Rows[i]["col"].ToString());  
  42.   
  43.            Response.Write("<br/>");  
  44.   
  45.        }  
  46.   
  47.        /// <summary>  
  48.        /// 取重复  
  49.        /// </summary>  
  50.        /// <param name="dt"></param>  
  51.        /// <param name="dt1"></param>  
  52.        /// <returns></returns>  
  53.        private DataTable cf(DataTable dt, DataTable dt1)  
  54.        {  
  55.            DataTable myTable = dt.Clone();  
  56.   
  57.            for (int i = 0; i < dt.Rows.Count; i++)  
  58.            {  
  59.                DataRow[] sRow= dt1.Select("col1='"+dt.Rows[i]["col"].ToString()+"'");  
  60.   
  61.                if (sRow.Length > 0)  
  62.                {  
  63.                   DataRow row= myTable.NewRow();  
  64.                   row["col"] = dt.Rows[i]["col"].ToString();  
  65.                   myTable.Rows.Add(row);  
  66.                }  
  67.            }  
  68.   
  69.            return myTable;  
  70.        }  
  71.   
  72.   
  73.        /// <summary>  
  74.        /// 不重复d1tod2  
  75.        /// </summary>  
  76.        /// <param name="dt"></param>  
  77.        /// <param name="dt1"></param>  
  78.        /// <returns></returns>  
  79.        private DataTable bcfbyd1tod2(DataTable dt, DataTable dt1)  
  80.        {  
  81.            DataTable myTable = dt.Clone();  
  82.   
  83.            for (int i = 0; i < dt.Rows.Count; i++)  
  84.            {  
  85.                DataRow[] sRow = dt1.Select("col1='" + dt.Rows[i]["col"].ToString() + "'");  
  86.   
  87.                if (sRow.Length == 0)  
  88.                {  
  89.                    DataRow row = myTable.NewRow();  
  90.                    row["col"] = dt.Rows[i]["col"].ToString();  
  91.                    myTable.Rows.Add(row);  
  92.                }  
  93.            }  
  94.   
  95.            return myTable;  
  96.        }  
  97.   
  98.   
  99.        /// <summary>  
  100.        /// 不重复d1tod2  
  101.        /// </summary>  
  102.        /// <param name="dt"></param>  
  103.        /// <param name="dt1"></param>  
  104.        /// <returns></returns>  
  105.        private DataTable bcfbyd2tod1(DataTable dt, DataTable dt1)  
  106.        {  
  107.            DataTable myTable = dt.Clone();  
  108.   
  109.            for (int i = 0; i < dt1.Rows.Count; i++)  
  110.            {  
  111.                DataRow[] sRow = dt.Select("col='" + dt1.Rows[i]["col1"].ToString() + "'");  
  112.   
  113.                if (sRow.Length == 0)  
  114.                {  
  115.                    DataRow row = myTable.NewRow();  
  116.                    row["col"] = dt1.Rows[i]["col1"].ToString();  
  117.                    myTable.Rows.Add(row);  
  118.                }  
  119.            }  
  120.   
  121.            return myTable;  
  122.        }  
  123. http://blog.csdn.net/yeness/article/details/7817032
原文地址:https://www.cnblogs.com/Echo529/p/6382706.html