首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

DBChart分页显示数据,第一页缓慢,后面页就很快,怎么解决

2012-02-20 
DBChart分页显示数据,第一页缓慢,后面页就很快,如何解决?使用ADO+access开发,数据库中大约有几万条数据,设

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

热点排行