gpt4 book ai didi

java - 我无法使用 ORMLite 库在 java (android) 中执行 "WITH RECURSIVE"子句

转载 作者:行者123 更新时间:2023-11-29 07:48:12 25 4
gpt4 key购买 nike

我对这个查询有疑问:

WITH RECURSIVE dates(d)
AS (VALUES('2014-03-01')
UNION ALL
SELECT date(d, '+1 day')
FROM dates
WHERE d < '2014-03-31')
SELECT d AS date

如果我在 Windows 专用 SqLite 应用程序上执行此查询,查询工作正常。

如果我在我的 android 应用程序上执行此查询,我将收到此消息作为日志:

/com.robertot.timereport E/SQLiteLog﹕ (1) near "WITH": syntax error
/com.robertot.timereport W/System.err﹕ java.sql.SQLException: Could not perform raw query for WITH RECURSIVE dates(d) AS (VALUES('2014-04-28') UNION ALL SELECT date(d, '+1 day') FROM dates WHERE d < '2014-06-01') SELECT d AS date

我不明白为什么...

无论如何,这是我的 java 代码:

GenericRawResults<String[]> rawResults;
List<String[]> results = null;
DbHelperJob findjob = new DbHelperJob(getActivity());

try
{
rawResults = findjob.getJobDao().queryRaw("WITH RECURSIVE dates(d) " +
"AS (VALUES('" + firstWeek + "') " +
"UNION ALL " +
"SELECT date(d, '+1 day') " +
"FROM dates " +
"WHERE d < '" + lastWeek + "') " +
"SELECT d AS date"

results = rawResults.getResults();
findjob.close();
}
catch (SQLException e)
{
e.printStackTrace();
}

谢谢!! :)

最佳答案

根据 this ,您正在寻找的语法已添加到 SQLite 3.8.3但是根据this , KitKat 使用 3.7.11

因此,Android 尚不支持它。

关于java - 我无法使用 ORMLite 库在 java (android) 中执行 "WITH RECURSIVE"子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23554337/

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