嘿,我有一个问题:)我怎么能从我的sql db只读十行? 这是我的代码:
openDB();
Cursor c = myDb.getSpalte();
List<Integer> valueList = new ArrayList<Integer>(c.getCount());
while (c.moveToNext()) {
valueList.add(c.getInt(1));
}
c.close();
closeDB();
如果它对你有帮助,那就是我的getSpalte方法:
public Cursor getSpalte(){
String where = null;
String Order = "_id DESC";
Cursor c = db.query(true, DATABASE_TABLE, KEY_KALOA,
where, null, null, null, Order, null);
if (c != null) {
c.moveToFirst();
}
return c;
}
谢谢你的帮助!对不起我的坏人,抱歉; P
答案 0 :(得分:7)
将最后一个null
参数设置为&#34; 10&#34;。此参数适用于LIMIT
,它限制查询返回的行数。
Cursor c = db.query(true, DATABASE_TABLE, KEY_KALOA,
where, null, null, null, Order, "10");
请记住,限制必须伴随适当的逻辑来对结果集进行排序。否则,您可以获得任意10行,这可能并不总是您想要的。
答案 1 :(得分:0)
在getSpalte函数中更改数据库查询,如下所示:
Cursor c = db.query(true, DATABASE_TABLE, KEY_KALOA,
where, null, null, null, Order, "10");
答案 2 :(得分:0)
您可以使用选择TOP,限制或使用ROWNUM来执行此操作,具体取决于您使用的数据库,或者您可以使用简单的for循环而不是while来简单地处理它。
答案 3 :(得分:0)