use*_*772 1 java sql sqlite android ormlite
我在这个查询上遇到了问题:
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
Run Code Online (Sandbox Code Playgroud)
如果我在专用的SqLite的Windows应用程序上执行此查询,查询工作正常.
如果我在我的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
Run Code Online (Sandbox Code Playgroud)
我不明白为什么......
无论如何,这是我的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();
}
Run Code Online (Sandbox Code Playgroud)
谢谢!!:)
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |