我正在尝试从SQLite数据库中获取最后一行。直到现在我已经尝试过max,sql_sequence但似乎没有任何效果。我必须获取行值并将其分配给类变量。 感谢任何帮助,因为我是SQLite和Android的新手。 感谢..
答案 0 :(得分:8)
如果您已经获得了光标,那么这就是您从光标获取最后一条记录的方式:
cursor.moveToPosition(cursor.getCount() - 1);
//然后使用光标读取值
或
这样做
Cursor cursor = db.rawQuery(selectQuery,null);
cursor.moveToLast();
或
SELECT * FROM TABLE WHERE ID =(SELECT MAX(ID)FROM TABLE);
答案 1 :(得分:3)
这应该做你想要的:
SELECT *
FROM food_table
ORDER BY _id DESC
LIMIT 1
答案 2 :(得分:1)
尝试这样做可以帮助您提供表格的最后记录
Cursor mCursor = db.rawQuery("Select * from TableName", null);
mCursor.moveToLast();
现在从光标获取数据
答案 3 :(得分:1)
通常有一个名为sqlite_sequence
的表,它存储SQLite数据库中所有表的最高主键。所以使用以下
String selectQuery = "SELECT * FROM sqlite_sequence WHERE name = table_name";
Cursor cursor = db.rawQuery(selectQuery, null);
cursor.moveToLast();
答案 4 :(得分:0)
您可以在最后一行中使用修改后的查询....但是您必须使用任何列进行排序,例如在我的情况下,我的雇员 serial_no 列中< / strong>表,因此我的查询是
SELECT * FROM Employee ORDER BY serial_no DESC LIMIT 1