如何显示数据库中的最后20个条目

时间:2014-02-20 09:48:19

标签: android

如何显示以下数据库中的最后两个条目是我的代码我需要帮助任何想法如何实现它下面是我的完整代码

       public List<JobSchmeModel> getALLCompJobs() {
    List<JobSchmeModel> compjobsList = new ArrayList<JobSchmeModel>();
    // Select All Query
    String selectQuery = "SELECT  * FROM " + TABLE_COMPLETED_JOBS ;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            JobSchmeModel jobmodel = new JobSchmeModel();
            jobmodel.setTime(cursor.getString(1));
            jobmodel.setPick(cursor.getString(2));
            jobmodel.setDestination(cursor.getString(3));
            jobmodel.setFare(cursor.getString(4));
            // Adding contact to list
            compjobsList.add(jobmodel);
        } while (cursor.moveToNext());
    }

    db.close();

    return compjobsList;
}

3 个答案:

答案 0 :(得分:4)

"SELECT  * FROM " + TABLE_COMPLETED_JOBS + " ORDER BY TIME DESC LIMIT 20"

或者按不同的列排序,也许是自动递增的ID?并根据您的实际需要将20换成2。有两种不同的金额。

希望这有帮助。

答案 1 :(得分:0)

使用

    if (cursor.moveToLast()) {
                do {
                    JobSchmeModel jobmodel = new JobSchmeModel();
                    jobmodel.setTime(cursor.getString(1));
                    jobmodel.setPick(cursor.getString(2));
                    jobmodel.setDestination(cursor.getString(3));
                    jobmodel.setFare(cursor.getString(4));
                    // Adding contact to list
                    compjobsList.add(jobmodel);
                } while (cursor.moveToPrevious());
            }

答案 2 :(得分:0)

您可以开始更改您的SQL查询,如:

String selectQuery = "SELECT  * FROM " + TABLE_COMPLETED_JOBS + "ORDER BY TIME DESC LIMIT 0, 2" ;