我构建我的android项目,但是消息输出以下错误, 这个错误来自android dao。
Error:(31, 19) error: mismatched input 'fromJson' expecting {<EOF>, ';', ',', K_ALTER, K_ANALYZE, K_ATTACH, K_BEGIN, K_COMMIT, K_CREATE, K_DELETE, K_DETACH, K_DROP, K_END, K_EXCEPT, K_EXPLAIN, K_FROM, K_GROUP, K_INSERT, K_INTERSECT, K_LIMIT, K_ORDER, K_PRAGMA, K_REINDEX, K_RELEASE, K_REPLACE, K_ROLLBACK, K_SAVEPOINT, K_SELECT, K_UNION, K_UPDATE, K_VACUUM, K_VALUES, K_WHERE, K_WITH, UNEXPECTED_CHAR}
答案 0 :(得分:3)
这可能是SQL查询中的语法错误。
确保在连接查询(字符串)时,在每行的末尾放置一个空格。
@Query("SELECT c.username, c.first_name, c.last_name, r1.water_amount AS waterAmountLastMonth " +
"FROM citizen c " +
"INNER JOIN report r1 ON r1.date_month = :dateMonth " +
"ORDER BY c.first_name ASC")
答案 1 :(得分:0)
对于我来说,我写错了查询。我的查询是-
@Query("SELECT * " +
DbConstants.TABLE_MEDICINE + " WHERE " + DbConstants.MEDICINE_ID + " = (:id)")
fun read(id: Long): LiveData<Medicine>
/*Notice here,I missed "FROM" query in the query.*/
正确查询为-
@Query("SELECT * FROM " +
DbConstants.TABLE_MEDICINE + " WHERE " + DbConstants.MEDICINE_ID + " = (:id)")
fun read(id: Long): LiveData<Medicine> /*Include "FROM" now.
因此,如果有人遇到这种错误,请先检查您的SQL查询是否正确。