同上

解决方案 »

  1.   

    数据库查询的时候是阻塞式的,你可以在查询语句的地方设置断点,当执行到这里的时候按F8单步继续。你会发现,在数据库返回结果之前VB不会执行下一句语句。这时候你加的doevents也不会被执行到。整个程序就好像死机一样。解决这个问题一般用下面几种做法
    1、设置查询超时时间
    2、制作一个等待窗体,放些动画什么的在查询之前弹出让操作者知道还没有死机。
    3、实现多线程,启动一个新的线程去执行查询操作
      

  2.   

    CPU100%不代表什么,没什么大关系,只是如果你的查询执行时间过长,就要想办法了,不在于怎么降低CPU使用率,而应该修改查询方案,使之简化并能快速执行。比如过于复杂的查询是否能用几个小查询来代替?或干脆使用简单查询取得结果,然后用程序分析查询结果,这样,CPU就有机会腾出来了。
      

  3.   

    还是从sql上找原因吧,如果数据量确实巨大,那就分批查询同楼上方法,设置固定返回数据量。