做了一个程序读取数据并用datagridview显示出来,由于数据量比较大,打开程序时候要好久才能反应过来,请教大虾们,如何能提高效率啊我需要大量读取的是access数据库跟firebird数据库我是直接读取数据库获取需要的datatable然后datatable作为datagridview的数据源为什么那么卡啊偶是新手,求助

解决方案 »

  1.   

    楼上的都支持多线程?
    多线程不是想象的那么好其实LZ可以考虑定时读取  或者如myceolzy 所说 
      

  2.   

    启动的时候,先读取一部分,例如100条,放在一个datatable里,
    把这个datatable赋值给datagridview,让后,在后台设置一个线程,
    不停的读取剩余的数据,然后增量添加到datatable里,
      

  3.   

    个人觉得分页处理就行了,显示而已。
    http://topic.csdn.net/u/20100519/23/a76f56f0-b794-476e-a996-f23573af8667.html
      

  4.   

    谢谢楼上各位的指点
    那么下面这两句分页哪一个效率更高呢
    或者还有更好的方法?
    select first (10) * from TSCSJ where (xh not in (select first 10 xh from tscsj order by xh)) order by xh
    select first(10) * from TSCSJ where xh>(select max(xh) from TSCSJ where xh in (select first 30 xh from tscsj order by xh)) order by xh