我有一个使用本地sqlite数据库的Android应用程序.
private SQLiteDatabase mDb;
Run Code Online (Sandbox Code Playgroud)
当我运行这个查询时,我根据需要将我的Cursor放在pid等于id的行上:
mDb.query(true, PT_TABLE, new String[] {KEY_PID, KEY_TID},
KEY_PID+" = "+id, null, null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
当我运行以下查询,旨在获得相同的结果集,由pid命令我得到" android.database.sqlite.SQLiteException:datatype mismatch "
mDb.query(true, PT_TABLE, new String[] {KEY_PID, KEY_TID},
KEY_PID+" = "+id, null, null, null, null, KEY_PID+" DESC");
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
out*_*tis 38
看起来你有点混淆了.根据SQLiteDatabase.query文档,最后一个参数是该LIMIT子句.倒数第二个是ORDER BY条款.
Cursor query (boolean distinct,
String table,
String[] columns,
String selection,
String[] selectionArgs,
String groupBy,
String having,
String orderBy, // <-- ORDER BY
String limit)
Run Code Online (Sandbox Code Playgroud)
编辑
不过,也有另一种SQLiteDatabase.query这里ORDER BY将是最后一次
Cursor query (String table,
String[] columns,
String selection,
String[] selectionArgs,
String groupBy,
String having,
String orderBy)
Run Code Online (Sandbox Code Playgroud)
San*_*hav 24
这对我有用
String filter = MySQLiteHelper.JOB_ID + "=" + Integer.toString(jobID);
String orderBy = MySQLiteHelper.LOG_TIME + " DESC";
Cursor cursor = database.query(MySQLiteHelper.LOG_TABLE_NAME, logTableColumns,
filter, null, null, null, orderBy);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73303 次 |
| 最近记录: |