【发布时间】:2018-11-20 05:39:34
【问题描述】:
我想使用公共常量变量Association.MEMBER_STATUS_APPROVED,通过以下房间查询来查询用户关联列表。
@Query("SELECT * FROM Association WHERE memberStatus = " + Association.MEMBER_STATUS_APPROVED)
LiveData<List<Association>> loadUserAssociations();
但是,房间在构建时给了我 [SQLITE_ERROR]。 可以通过将常量变量替换为如下参数来重写该查询。
@Query("SELECT * FROM Association WHERE memberStatus = :statusApproved")
LiveData<List<Association>> loadUserAssociations(String statusApproved);
我想知道 Room 是否支持这种字符串连接或字符串格式? (或)我可能错过了什么吗?
【问题讨论】:
-
第二个应该可以工作..有什么错误吗?
-
是的,@DKV。第二个有效。但是,我更喜欢第一个,我只想知道 Room 是否支持这种字符串连接或字符串格式。
-
不,第一种类型是不可能的。
-
谢谢@JeelVankhede。我认为 Room 应该支持这样 :-D 你怎么看? :-)
-
不,其实这不是ROOM的错,但是你不能将变量传递给
Annotations,它必须是静态的最终值。
标签: android database android-sqlite android-room