我有一个DataGird,datasoure是一个dataTable,但是dataTable中有数据是重复的,比如:姓名,工号,年龄,职业,备注
张三,001,23,工人,无
李四,002,23,工人,无
张三,001,23,工人,无第一条和第三条数据是重复的,我想把重复的数据只显示一条,但是我每条记录都是依次add进去的,不能用distinct。哪位知道有什么好方法?难道非要我插入数据的时候遍历一遍吗?那效率是不是...

解决方案 »

  1.   

    数据给dataTable的时候distinct一把应该可以吧
      

  2.   

    但是我的数据是一条一条往里面加的,一次查出一条数据,然后将这个数据add到datable中,没法用distinct。
      

  3.   

    你运用视图
    将dataTable里的字段导入一个视图里
    然后运用视图的有个属性(我不记得了)进行筛选
    然后将该视图设置为dateGraid控件的数据源
      

  4.   

    用一个算法遍历DataTable 中的
    行数据是否重复
    然后直接生成sql语句
    在成批插入啊
    如果记录数不是太多
    效率不是很慢的啊 
      

  5.   

    用存储过程吧!定义存储过程,功能就是先把你要的数据一条一条的查询出来,放到一个临时表里,然后再在对这个临时表用select distinct 返回你要的重复的数据集,即可。