BDE 的query 控件和 ADO的Query控件: 帮帮忙(50分)

  • 主题发起人 主题发起人 liangguowei
  • 开始时间 开始时间
L

liangguowei

Unregistered / Unconfirmed
GUEST, unregistred user!
大家中午好:
我用Ado中的Query控件查找informix数据库中一个有十万条记录以上的表
可是半天出不来,好象还提示什么“存储体空间不够”的信息。换了Ado的Talbe也一样

可是我用BDE中的table控件两妙不到就出来了。(query控件没试)

如果我就要用D5的ADO 的query控件,该怎么办???
 
没用过informix,可能是微软的ado对它自持不够.
 
我用的ADO是D5中的
在我中午吃饭的时候终于查出来了,可是
那得用多长时间啊
 
干嘛非得用ADO的QUERY控件呢,
用DATAACCSESS中的QUERY或TABLE
控件不是很好吗
 
操作informix,ado可不好。
 
就用bde把
把你的bde别名中的有一个属性好像是xxxMEMORY
默认是2M,这就是bde打开数据库是使用的缓存大小
你把它改为128M试试(如果你的电脑有256M内存的话)
 
to sunny_Ok:
用BDE的query 和table是可以的而且也很快,就不是为什么Adoquery就不怎么样
to aerobull:
能说说为什么吗:操作informix,ado可不好
to 小猪:
我试试
 
将ADOQUERY的游标设为服务端,速度就会很快了
 
jfsoft说的对,ADOQUERY1.CursorLocation:=clUseServer后,速度提升100倍
 
ADOQuery将查询的数据全部下载到本地,所以花费时间既多又占很多的内存;如果是BDE,
它则将部分数据下载到本地,所以特别快。但是,如果使用的是DBGrid,当向下滚动时,
然后要花费时间等待新数据。如果是ADO,由于数据全部下载到本地,当移动滚动条时,
不需要花费时间等待。
to :liangguowei
吃过午饭回来,还能看到结果,真是神了,一般在查询时30秒就报“连接超时”,这曾经把
我给害苦了。最后以ADODataSet和ADOCommand代替了ADOQuery才得以解决连接超时问题。
不知你是怎么解决这一问题?
 
ADO对informix支持还不够,你可以看datalink属性中的provider选项,对数据库服务器
只有SQL Server和Oracle有直接支持,所以最好还是用BDE(SQL Link),如果一定要用ADO
的话可试试for ODBC.
AKuan说得对,用ADO就最好用ADODataSet和ADOCommand,不要用ADOTable和ADOQuery。

 
liangguowei:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
不好意思谢谢wjiachun提醒,谢谢:)
 
后退
顶部