DBChart分页显示数据,第一页缓慢,后面页就很快,如何解决?
使用ADO+access开发,数据库中大约有几万条数据,设置DBChart的MaxPointsperPage属性为1000,即每页显示1000个数据点。
显示第一页代码如下:
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery->SQL->Add("select * from sheet1 where gongwei='abc'");
ADOQuery1->Open();
DBChart1->series[0]->DataSource=ADOQuery1;
DBChart1->series[0]->XValues->ValuesSource="pasttime";
DBChart1->series[0]->YValues->ValuesSource="pasttime";
运行以上代码,大约需要1.2秒。有些慢。
显示下一页的代码是:
DBChart1->NextPage();
该语句运行时间小于1ms,很快。
感觉虽然设置了每页显示1000个数据,但好像第一页显示的时候把所有工作都完成了似的,速度比较慢,显示后面页的时候就非常快,几乎没有时间。
请问如何提高显示速度?
[解决办法]
第一次的时候ADOQuery要加载所有数据自然慢些,以后翻页只是移动指针当然快。
你可以加载数据后再显示。
[解决办法]
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery->SQL->Add("select * from sheet1 where gongwei='abc'");
ADOQuery1->Open();
放在FormShow时执行