我正在使用Room Persistence库访问数据库数据。
在我的dao课堂中,我将查询写为
@Query("SELECT id, uniqueId, number, user_id, first_name, last_name,
image FROM CONTACTS WHERE status != stts")
abstract fun allContacts(stts: Int): DataSource.Factory<Int, Contact>
很好。但是,如果我必须将状态与某个常数进行比较,该怎么办? 像状态!= Constant.STATUS_FAILED
这里 在常量文件中定义的val STATUS_FAILED = 5。
如何在查询中使用它。我知道我可以在allContacts方法中将其作为参数传递,并使用类似status!=:stts的参数。但是我不想要那样。 有没有办法像状态!= Constant.STATUS_FAILED一样直接使用它。
我在https://developer.android.com/training/data-storage/room/accessing-data上没有看到任何示例
答案 0 :(得分:0)
尝试一下
@Query("SELECT id, uniqueId, number, user_id, first_name, last_name,
image FROM CONTACTS WHERE status != " + Constant.STATUS_FAILED)
abstract fun allContacts(): DataSource.Factory<Int, Contact>
答案 1 :(得分:0)
您必须在@Query中添加此内容
@Query(“从锻炼中选择*,其中nameTypeTraining =:nameTypeTraining”)
答案 2 :(得分:0)
您可以使用字符串格式输入常数。
@Query(String.format("SELECT id, uniqueId, number, user_id, first_name, last_name,
image FROM CONTACTS WHERE status != %s", Constants.STATUS_FAILED))
abstract fun allContacts(stts: Int): DataSource.Factory<Int, Contact>
希望这会有所帮助!