fab*_*sch 6 android list limit offset ormlite
@SuppressWarnings("deprecation")
public List<Picture> returnLimitedList(int offset, int end) {
List<Picture> pictureList = new ArrayList<Picture>();
int startRow = offset;
int maxRows = end;
try {
QueryBuilder<Picture, Integer> queryBuilder = dao.queryBuilder();
queryBuilder.offset(startRow).limit(maxRows);
pictureList = dao.query(queryBuilder.prepare());
} catch (SQLException e) {
e.printStackTrace();
}
return pictureList;
}
Run Code Online (Sandbox Code Playgroud)
例如:(0 - 30)
有没有其他方法可以返回初始索引和结束索引的有限列表?
Rig*_*tti 16
这个问题是在两个月前被问到的,但如果有人偶然发现了和我一样的问题,我会回答.
对于offset这种情况下的含义存在误解,这里遵循SQLite Documentations所说的内容
如果表达式具有OFFSET子句,则从SELECT语句返回的结果集中省略前M行,并返回接下来的N行,其中M和N分别是OFFSET和LIMIT子句求值的值.
根据您的查询,您将从#11行返回30行.
所以正确的方法是:
queryBuilder.offset(startRow).limit(20);
Run Code Online (Sandbox Code Playgroud)
具有limit将返回的行数,而不是结束行.
pictureList = dao.query(queryBuilder.prepare());
Run Code Online (Sandbox Code Playgroud)
并返回List第一个值开始pictureList.get(0)
编辑: @Gray对评论的帮助
| 归档时间: |
|
| 查看次数: |
8316 次 |
| 最近记录: |