最近将记录添加到数据库中

时间:2016-03-16 07:08:27

标签: android database sqlite

我应该如何从数据库中获取最新添加的记录,其中COL_2应该= = param,我将其传递给它。 我可以使用此代码获取COL_2等于param的所有记录,但我只需要最近的一个

    public Cursor getRowsLast(String param) {
    SQLiteDatabase db = helper.getWritableDatabase();
    String[] COLS = new String[]{DatabaseHelper.COL_1,DatabaseHelper.COL_2, DatabaseHelper.COL_3,DatabaseHelper.COL_4};
    String where = param;
    Cursor c = db.query(true, DatabaseHelper.TABLE_NAME, COLS, DatabaseHelper.COL_2 + " = '" + where + "'", null, null, null, null, null);
    if(c != null){
        c.moveToFirst();
    }
    return c;
}

2 个答案:

答案 0 :(得分:2)

获取表中最新行的最可靠方法是在表中为插入/更新时间定义一列。确保在插入/更新时此值准确,并在其上创建索引。然后,您可以对此列进行排序(降序)以确定哪一个是最新的 - 它将是第一行。

答案 1 :(得分:0)

随着每次插入自动生成的ID值增加,ID最高的行将是最近插入的行。因此,添加“按_id desc排序”,第一行将是最近插入的一行。

注意 - 这不包括更新。如果您需要最近插入或更新的行,则必须使用Doug Stevenson建议的其他时间戳列。