我要删除一个表中的大量重复数据,要一条一条的比较,这个过程会很慢,大概会持续几个小时。如果发现重复数据,要显示在页面上。但是重复的太多了,显示的页面太长,我怎么才能让他只显示最后输出的数据呢?前面输出的让后面的数据覆盖就可以了。在后台我用了Response.Flush()来强制清空缓冲区,这样有数据就会显示出来。

解决方案 »

  1.   

    不用那么麻烦,你根据表字段ID分组就可以了,假设你的重复字段是param,那你就可以:select id from test group by param,这样就可以把重复的数据干掉了......
      

  2.   

    select distinct 
    datatable过滤重复数据
    根据相关字段排序,top最新数据
    ajax timer定时刷新
      

  3.   

    首先我关于重复的问题没有仔细描述,因为我在这里问的问题是如何动态前端显示。我的重复问题不是 select distinct 或者 group by 或 order by 能解决的,因为不是完全重复,重复不代表==,有些是近似的,所以处理重复还需要读取出每一条数据,然后用一个算法来识别,这里就不多说了。用ajax我简单的实验了一下,好像是不行。因为我的后台在有间断的长时间在输出,如果把这个输出用label控件显示的话,是一个也显示不出来的。我的理解是,页面没有执行完毕,那么整个页面就没有渲染,所以就没有任何输出。
    如果是用 Response.Write 输出的话,也就是我现在使用的方法,就会输出很长的一个页面。
    大家理解我的问题了吗?
      

  4.   

    还和我们讨论什么ajax,你知道这个前端技术用多了会出现什么后果吗,猛着说什么异步,大谈特谈。简直是胡闹......
      

  5.   

    用存储过程,来处理你的问题,distinct
      

  6.   

    例子
    protected void Page_Load(object sender, EventArgs e)
    {   
      for (int i = 0; i < 2000; i++)
      {
        Response.Write("<h1>正在处理数据:"+i+"</h1>");
        Response.Write("<script>window.scrollTo(0,999999)</s"+"cript>");
        Response.Flush();
      }
      Response.Write("<script>window.scrollTo(0,999999)</s" + "cript>");
    }