Android SQLITE查询:获取最后3个条目

时间:2013-12-29 19:05:34

标签: android sqlite

我正在尝试获取最后3个数据库条目。我使用以下代码,但我只得到最后一个条目而不是最后一个。

 String query = "Select * from " + TABLE_DETAILS + " DESC limit 3;";

     SQLiteDatabase db = this.getWritableDatabase();

     Cursor cursor  = db.rawQuery(query, null);

    if (cursor.moveToFirst()) {
        cursor.moveToFirst();
        System.out.println(Integer.parseInt(cursor.getString(2)));
        cursor.close();
    } else {
    }
    db.close();

由于

1 个答案:

答案 0 :(得分:4)

您需要使用光标循环以获取所有结果行,例如而不是

if (cursor.moveToFirst()) {
   ...
像这样循环

while (cursor.moveToNext()) {
  System.out.println(cursor.getString(2));
}
cursor.close();

要更改排序,请在查询中添加ORDER BY <expression>,例如

SELECT ... ORDER BY _id DESC LIMIT 3