基于2列值从数据集中删除重复数据

时间:2019-12-21 19:38:26

标签: c# duplicates dataset compare

这是我的代码。我只想比较两个数据集列并排除相同的记录。我试过了 码。它排除了相同的记录,但也生成了重复的数据。

   for (int i = 0; i < ds2. Tables[0].Rows.Count; i++)
            { 
                for each (Data Row dr2 in ds1. Tables[0].Rows)
                {
                    string table2 = dr2["code"].ToString();
                    if (i.ToString() != table2.ToString())
                    {
                        dsnew. Tables[0].Rows.Add(i);                     


                    }
                }
            }

1 个答案:

答案 0 :(得分:0)

比较奇怪。您似乎没有使用ds2中的记录。仅ds2的计数。

我认为您会重复,因为

  • 在决定将其放入dsnew之前,将ds2中的每个元素与ds1中的1个元素进行比较

尝试

  • 在决定将其放置在dsnew中之前,将ds2中的每个元素与ds1中的所有元素进行比较

    for (int i = 0; i < ds2.Tables[0].Rows.Count; i++)
    {
        bool found = false;
        foreach (DataRow dr2 in ds1.Tables[0].Rows)
        {
            string table2 = dr2["code"].ToString();
            if (i.ToString() == table2.ToString())
            {
                found = true;
            }
        }
    
        if(!found) dsnew.Tables[0].Rows.Add(i);
    }