我在Datatable中用DataTable dtResult = createParseResultTable("DataHostCurrentData");而且已经填充了数据,但是在生成此表中有可能存在重复的两行数据,我该怎么去找到并同时删除这两行重复的数据?希望能够给出C#实现的代码?我采用冒泡法但是最终还是不行的。

解决方案 »

  1.   

    sql里不是有个去掉重复的关键字吗,或者按组查询,就不会有重复的了
    插入数据的时候,你的数据库应该要建主键吧,那样就不会有重复的了
      

  2.   

    你用 sql 语句查询的时候,就把重复记录去掉不就ok了吗?
    select distinct(*) from table name 你按主键排序,然后判断DataTable 里面的内容完全相等,如果相等删除就行了
      

  3.   

    用最新的 LINQ 技术,容易搞定
                var query = from dt2 in dtResult.AsEnumerable()
                            group dt2 by dt2.Field<string>(重复的列) into fl
                            where fl.Key>1
                            select fl;用类似以上的代码,找出不只一行的,再来个遍历,删除之
    foreach (var dd in query)

        

      

  4.   

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
    //可以在这里处理的!拿当前的记录与前面的记录比较!相同就删除!
    }
      

  5.   

    干嘛非要到程序里来判断呢?在sql语句里写不一样吗distinct
      

  6.   

    我的数据不是来自数据库的,是动态加载的,因此利用SQL语句是不行的。几位楼上的意见都很好,能否给出详细的代码。谢谢!
      

  7.   

    用sql 游标过滤重复数据,我在项目中都是这样使用的啊!