【发布时间】:2015-11-10 20:45:10
【问题描述】:
我正在开发一个基于 SqlLiteDataBase 的 Android 应用程序。 当我使用查询方法查询数据库时,我想按日期列按升序排序。 ORDERBY 似乎不起作用。
Cursor cursor = db.query("myTable", // The table to query
dbTools.tableColumns, // The columns to return
whereClause, // The columns for the WHERE clause
null, // The values for the WHERE clause
null, // don't group the rows
null, // don't filter by row groups
"dateText" + " ASC" // The sort order
);
调试时的游标 mquery 字段显示如下:
SQLiteQuery: SELECT dateText, <some other columns here> FROM myTable WHERE dateText >= '2015-10-01 00:00:00' AND dateText <= '2015-10-31 23:59:59' ORDER BY dateText DESC
(为了您的方便,我删除了不相关的列)
运行查询后,我想检查是否有任何条目,所以我调用:
if (!cursor.moveToFirst())
然后我做一些逻辑,每当我想移动到光标上的下一行时,我都会运行:
if (!cursor.moveToNext())
dateText 列定义为 DATETIME:
String query = "CREATE TABLE myTable (id INTEGER PRIMARY KEY AUTOINCREMENT, dateText DATETIME, <other columns here>)";
您能否告知为什么排序不起作用?遍历游标上的行时,不会对行进行排序。 例子: 如果我有 2015 年 11 月 1 日、2 日和 10 日的行,则 ASC 的排序将给出以下排序:10->1->2 按 DESC 排序得到:2->10->1
【问题讨论】:
-
你是什么意思
isnt working?一些错误?还是数据没有排序? -
我已经更新了这个问题。行未排序
标签: android sql sorting sql-order-by