为什么COMBOBOX显示值这么慢呢?
with Query_inputPICK do
begin
close;
sql.clear;
sql.add('select DISTINCT MO_NUMBER FROM ORDER_MANUFACTCONFIG ORDER BY MO_NUMBER');
open;
first;
while not eof do
begin
combobox1.ADDITEM(Query_inputPICK.fieldbyname('MO_NUMBER').asstring,combobox1) ;
end;
end;
上面的语句是动态显示COMBOBOX里的内容,200多条记录显示非常慢,请问怎么改进?
问题点数:20、回复次数:7Top
1 楼chinaandys(降龙十八炒&&蛋炒饭)回复于 2005-01-03 11:26:31 得分 5
用 adoprocedure控件。Top
2 楼kuki84(天道酬勤)回复于 2005-01-03 11:30:45 得分 5
因为要连接,(open),所以慢,如果你对时间看的很重,就不要把查询写到combobox的click里边 ,不妨写在窗体建立里边。Top
3 楼lbd8848(lbd)回复于 2005-01-03 13:06:31 得分 0
while not eof do
begin
next;->没有这个会死循环的
end;Top
4 楼yhf_zhangqian(可恶)回复于 2005-01-03 13:15:40 得分 0
程序写了个死循环.Top
5 楼qczyy()回复于 2005-01-03 13:48:54 得分 0
不好意思,拷贝粘贴时,把NEXE漏了,
代码中是有NEXT的,但还是慢Top
6 楼lbd8848(lbd)回复于 2005-01-03 14:03:23 得分 5
一个表中查询 DISTINCT做什么用.去掉试试Top
7 楼Kshape(C/C++初学者~~~~)回复于 2005-01-03 14:14:12 得分 5
不要把查询写到combobox的click里边 ,写在窗体建立或者是show里边。
DISTINCT:作用是去掉相同的记录
Top




