gpt4 book ai didi

android - SqlLiteDatabase.query 按日期排序的列不起作用

转载 作者:行者123 更新时间:2023-11-30 01:46:33 25 4
gpt4 key购买 nike

我正在开发一个基于 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

最佳答案

这里我建议你尝试一下:

SQLiteQuery: SELECT dateText, FROM myTable WHERE dateText >= '2015-10-01 00:00:00' AND dateText <= '2015-10-31 23:59:59' ORDER BY date(dateText) DESC

注意:
目的地 ==> 后裔
上升 ==> 上升

祝你好运!

关于android - SqlLiteDatabase.query 按日期排序的列不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33639267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com