有两个Dataset,分别都只有一张表,每张表指定一列,如何判断指定的两列有相同的数据

解决方案 »

  1.   

    {
                    #region 测试数据
                    DataSet ds1 = new DataSet();
                    DataTable dt1 = new DataTable();
                    dt1.Columns.Add(new DataColumn("id1", typeof(string)));
                    dt1.Columns.Add(new DataColumn("name1", typeof(string)));
                    dt1.Rows.Add("1", "a");
                    dt1.Rows.Add("2", "b");
                    dt1.Rows.Add("3", "c");
                    ds1.Tables.Add(dt1);                DataSet ds2 = new DataSet();
                    DataTable dt2 = new DataTable();
                    dt2.Columns.Add(new DataColumn("id2", typeof(string)));
                    dt2.Columns.Add(new DataColumn("name2", typeof(string)));
                    dt2.Rows.Add("4", "a");
                    dt2.Rows.Add("5", "b");
                    dt2.Rows.Add("1", "c");
                    ds2.Tables.Add(dt2);
                    #endregion                 Console.WriteLine(ExistsSameDataByDataColumn(ds1.Tables[0], "id1", ds2.Tables[0], "id2"));
                }            static bool ExistsSameDataByDataColumn(DataTable dt1, string col1, DataTable dt2, string col2)
                {
                    foreach (DataRow row in dt1.Rows)
                    {
                        if (dt2.Select(string.Format("{0}='{1}'", col2, row[col1].ToString())).Length > 0) return true;
                    }
                    return false;
                   
                }