2017-07-07 67 views
-3

请检查我的语法和指正。通过的Android SQLite的查询语法查询error.Help需要

我得到错误 引起:android.database.sqlite.SQLiteException:近“BETWEEN30”:语法错误(代码1 ):在编译:SELECT * FROM TABLE_ITEMS WHERE日期BETWEEN30/06/2017'AND'07/07/2017'

String query = " SELECT * FROM " + TABLE + " WHERE date BETWEEN" + past_date + "'AND'" + current_date + "' " ; 
+1

尝试,你应该很明显,即使你修复它使用参数 – Selvin

+1

...它不会在所有的工作显然源码在格式'DD没有日期类型和日期/ MM/YYYY'的字符串排序不正确...并且在2017年6月30日到2017年7月07日之间没有字符串,因为30/06/2017比字符串方面的字符数大于07/07/2017 – Selvin

回答

1

一个SQLite例外,指示不存在与SQL解析 或执行错误。

使用BLANK SPACE & Single-Double整顿你的声明。

String query = " SELECT * FROM " + TABLE_ITEMS + " WHERE date BETWEEN " + past_date + " AND " + current_date + " ; 

您可以

"SELECT * FROM " + TABLE_NAME+ " WHERE date "+ BETWEEN past_date('"+DATE_STR_FORMAT+"') + " AND current_date " ('"+DATE_STR_FORMAT_CURRENT+"')""; 
+3

还有一个问题需要修正:'''字符。他们是3.如果数据类型是文本,你会需要4.如果它是数字,你将不需要。重新阅读这个问题,它似乎是文本(即使以**错误的格式**)。 –

+0

@ all..wait.i将更新 –

+0

请更新.am仍然会得到相同的错误.. – learner