【发布时间】:2015-01-03 22:49:04
【问题描述】:
您好,我在我的 android 应用程序中使用 sqlite 数据库,我有疑问: 我正在尝试从表 TABLE_XYZ 的最后一行获取最后一个值文本(即列)...但它不起作用..我正在使用以下代码...我做错了什么?
另一个问题是,当我想从最后一行(如列文本和消息)中获取多个值时,如何返回两个值而不是一个值?
private static final String KEY_MESSAGE = "message";
private static final String KEY_TEXT = "text";
...
String selectQuery= "SELECT * FROM " + TABLE_XYZ+" ORDER BY column DESC LIMIT 1";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
cursor.close();
return cursor.getString( cursor.getColumnIndex(KEY_TEXT) );
编辑:
我的查询中有一些错误,我已修复,但仍有错误:
String selectQuery= "SELECT * FROM " + TABLE_XYZ + " ORDER BY " + KEY_TEXT+ " DESC LIMIT 1";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
String str = cursor.getString( cursor.getColumnIndex(KEY_TEXT );
cursor.close();
return str;
在调试时,我可以看到游标内部确实有正确的值...但是当我尝试使用此命令“cursor.getString(cursor.getColumnIndex(KEY_TEXT);”获取列值时...它没有工作...
【问题讨论】:
-
如果你只想要 1 条记录,你应该使用 LIMIT 查看我的答案