读书人

DBChart分页显示数据第一页缓慢后

发布时间: 2012-02-20 21:18:23 作者: rapoo

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时执行

读书人网 >C++ Builder

热点推荐