把数据库查询到的结果存在json中,返回给界面。
但是貌似QT的json存储内容是由上限的
关于QJson能解析的最大数据长度的源码分析
所以我们每次只能查询一部分数据,然后循环查询
思路入下:
sql
select * from dataset limit 0,1000;//检索记录行 0-1000
select * from dataset limit 1000,1000;//检索记录行 1000-2000
select * from dataset limit 2000,1000;//检索记录行 2000 -3000
查询数据集时,额外传入limit 后面两个参数
bool getDataset(... , int index, int range)
//select * from dataset limit index,range ;
界面
int objArrayCounts = 1000;
int page = 0;
do
{
int startId = page * 1000;
getDataset(... , startId , 1000)
objArrayCounts = objArray.size();
} while (objArrayCounts == 1000);
每次查询 startId*1000 到 (startId+1)*1000这么多条记录
查完之后统计 本次查到多少条 objArrayCounts = objArray.size();
如果objArrayCounts == 1000就说明数据库里还有数据接着查
如果小于1000 就代表所有数据请求完毕,结束