delphi 下adoqurey ,cpu 占用100%问题(50)

  • 主题发起人 主题发起人 xnium
  • 开始时间 开始时间
X

xnium

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大人,小弟初学delphi,用adoqurey 查询access数据,记录不是很多少于1000条,在adoqurey.open的时候,发觉我的那个小程序占用cpu资源达到100%,小程序也不能拖动,最大化,最小化等操作,如果执行其他操作的话,我的小程序就表现为无响应的状态,不知道为什么,希望各位大侠帮忙看下多谢!
 
里面可能有循环(递归)结构吧~~~造成程序无法响应鼠标操作~~
 
程序占100%? 可能是利用adoquery作死循环了。
 
死循环……
 
不是的,在数据查询完成之后,资源占用就降下来了,很简单的应用,就是一个adoconnect,adoquery,dbgread,查询出来的资料放在dbgred里面,在查询的过程中cpu资源达到100%,查询执行完成之后,就正常了,不知道是怎么的,我是delphi新手,见笑~~~
 
你的机器是不是太慢了?装数据库的
 
估计和你的SQL语句有 关,你看看你的SQL在查询分析器里执行有多快.
 
数据库有问题,或者系统有问题
 
进入死循环啦,查一下查询语句。
 
估计不是进入死循环而是你的系统太慢或者是有别的程序也在执行产生了并发现象
 
不是死循环啦,只有一个select * from xxx,是不是要用多线程啊?改天找出那个小程序 给大伙看下了 ,真的是不能再简单的demo
 
out的数据太多。
 
行数不多但列太多也成问题(我见过八九十列的)。还有,用text列比用varchar列的效率低(sql中),没有索引(acess中有没有?) 也会很慢。如果在3秒内cpu占100%也是正常的。另外,可以在open前加Application.processMessage,避免卡住不动。
 
设置主键== 。。如果一直是死掉就是你进入死循环了。
 
设置cursorlocation为clUseServer
 
只有一句 SQL语句 ? select * from 表名,系统在执行程序,搜索数据库表过程中,很慢!那是正常的··还有什么好一直好考虑的·
 
了解 謝謝了
 
后退
顶部