由于要做一个定时刷新的WINFORM界面..不需要操控的按钮,但是需要1分钟刷新一次。由于数据库有点大,关联了三个表...现在的需求是:要把这个三个表里没有完成的订单读取出来,显示出来(有一个标识:finish(为TRUE是完成,为FALSE未完成)),现在要把未完成的都读取出来显示出来...请问怎么样做,才能让定时每1分钟刷新一次更效率(因为订单在每分钟内都有新的订单和已完成的订单写入数据库)因为当再次刷新的时候,要把现有的已完成的数据从显示控件里面去除,把新的数据读取出来..请问要怎么做才能更效率呢,请问用什么控件也能更效率呢..WINFORM的...
谢谢谢我好像没有分了,请各位兄弟教一下啊,谢谢谢winform

解决方案 »

  1.   

    1、第一次读取数据时,取出所有未完成的订单,同时记录一下查询的时间(建议每次都先记录查询时间,后进行查询操作)。
    2、后续读取数据时,根据最后查询时间,查询所有未完成且创建时间大于最后查询时间的和已经完成的订单且订单完成时间大于最后查询时间的,查询结束前记录一下查询时间(一条Sql语句应该能解决,订单变更为已完成应该有个字段保存变更时间吧)
    3、用新查询出的结果和旧的结果对比,删除掉已完成的,增加新添加的数据。具体用定时器,还是单起一个线程,那就随你了,如果用winform建议BackgroundWorker,简单省事,写个while循环,每次循环以后Sleep一分钟就行了.希望对你的问题有帮助.
      

  2.   

    一般来说,最好不要用FORM刷新,更新数据源就行了