在程序里取出数据集放在一个DataTable里面,我只是想取出里面的两列A跟B,其中A列有很多重复值,我想去掉重复值,改如何做呢。

解决方案 »

  1.   

    先在 MSDN 里看下 DataTable 的所有方法和属性吧!
      

  2.   

    Group By 按某一字段值分组
      

  3.   

    DataTable dt;
    DataTable newdt=dt.DefaultView.ToTable(true, new string[] { "id" }); 
      

  4.   

    不重复时可以用Sql控制  只取A和B 那你可以
    for(int i=0;i<datatable.rows.count;i++){
    string A+=datatable.rows[i][A].tostring();
    string B+=datatable.rows[i][B].tostring();
    }
      

  5.   

    应该没有直接的方法去获取,LZ可以另外新建一个DataTable,然后增加二个字段,再对你的数据集DataTable循环获取值,其中在循环的时候可以写另一个方法去判断当前列是否有此值,有即continue,这样就可以去掉重复,大概思路是这样
      

  6.   

    如果你的 DataTable 中的数据是来自于数据库,那么在填充数据之前就该在 SQL 语句中过滤重复的内容,而不该在 DataTable 中做处理,毕竟在查询过程处理要来得方便。
      

  7.   

    我的思路: 
       用sql查出你要的两列数据,
       有重复的数据放在list里, 用linq去除重复数据。
       
       
      

  8.   

    直接在sql语句不就能解决了吗
      

  9.   

    Datarow[] dr=dt.select("条件");
      

  10.   

    select A,B from TableName where A in (select distinct A from TableName)
      

  11.   

    最好用SQL语句直接过滤
    这样既方便 速度又快
      

  12.   

    循环老table插入新table 循环体中判断是否已存在
      

  13.   

    建议在写sql语句时就将重复的记录过滤掉。。