我这几天基本练熟了SQL的过程,触发,函数,不过发你那个码的长短跟库的关的系不大了,只是还可以优化而以最主要的是2-3分种有多少数据在里面 'select * from Tellist where dialing like 你的这个表中字段是不是很多,把*号换成字段名看看 这个可行,但数据少的话影不明显, 主要个人觉得还是listview1这个的问题, 我的MP3搜索过10万的数据没发现慢 while not eof do begin if (strtodatetime(fieldbyname('time').AsString)>=trunc(datetimepicker1.Date)+(datetimepicker2.Time-trunc(datetimepicker2.Time))) and (strtodatetime(fieldbyname('time').AsString)<=trunc(datetimepicker3.Date)+(datetimepicker4.Time-trunc(datetimepicker4.Time))) then//这里对于时间段条件进行判断 begin if strtoint(fieldbyname('holding').AsString)>=strtoint(edit1.Text)*60 then//这里对通话时间太于多少进行条件查询 begin//之后符合条件的在这里显示 listview1.Items.BeginUpdate;//因为显示时怕表头的字没有了不好看,所以加了这句和最后一句 Sitem:=listview1.Items.Add; Sitem.Caption:=fieldbyname('dialing').AsString; Sitem.SubItems.Add(fieldbyname('called').AsString); Sitem.SubItems.Add(fieldbyname('Holding').AsString); Sitem.SubItems.Add(fieldbyname('time').AsString); listview1.Items.EndUpdate; wait(2);//因为显示时怕闪的太厉害加了一个等待,就不太会闪 end; end; //if next; 查一次就画一次 这个量非常之大 如500条数据 500*假设你上面有20条 上面语句执行一条是1秒你看时间是多长
1.优化sql,优化表
2.使用线程,防假死
你的这个表中字段是不是很多,把*号换成字段名看看
'select * from Tellist where dialing like
你的这个表中字段是不是很多,把*号换成字段名看看
这个可行,但数据少的话影不明显,
主要个人觉得还是listview1这个的问题,
我的MP3搜索过10万的数据没发现慢
while not eof do
begin
if (strtodatetime(fieldbyname('time').AsString)>=trunc(datetimepicker1.Date)+(datetimepicker2.Time-trunc(datetimepicker2.Time))) and (strtodatetime(fieldbyname('time').AsString)<=trunc(datetimepicker3.Date)+(datetimepicker4.Time-trunc(datetimepicker4.Time))) then//这里对于时间段条件进行判断
begin
if strtoint(fieldbyname('holding').AsString)>=strtoint(edit1.Text)*60 then//这里对通话时间太于多少进行条件查询
begin//之后符合条件的在这里显示
listview1.Items.BeginUpdate;//因为显示时怕表头的字没有了不好看,所以加了这句和最后一句
Sitem:=listview1.Items.Add;
Sitem.Caption:=fieldbyname('dialing').AsString;
Sitem.SubItems.Add(fieldbyname('called').AsString);
Sitem.SubItems.Add(fieldbyname('Holding').AsString);
Sitem.SubItems.Add(fieldbyname('time').AsString);
listview1.Items.EndUpdate;
wait(2);//因为显示时怕闪的太厉害加了一个等待,就不太会闪
end;
end; //if
next;
查一次就画一次
这个量非常之大
如500条数据
500*假设你上面有20条
上面语句执行一条是1秒你看时间是多长
如果你一定要用listView的话,那一定要用它的数据感知功能,那样才不会慢。