当前位置: 首页 > 知识库问答 >
问题:

如何在Android中使用房库中的where in @query

师承弼
2023-03-14

我正在使用我的房间持久性库来访问数据库数据

在我的道课上,我把查询写成

@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方法中将它作为参数传递,并使用like status!= :stts。但是我不想那样。有没有什么方法可以像地位一样直接使用!=常数。状态_失败。

我没有看到任何例子https://developer.android.com/training/data-storage/room/accessing-data

共有3个答案

水焱
2023-03-14

可以使用字符串格式来输入常量。

@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>

希望这有帮助!

利俊迈
2023-03-14

像这样试试

@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>
范翰池
2023-03-14

您必须添加此内容:在@Query

@查询(“从训练中选择*,其中名称类型训练=:名称类型训练”)

  • getAllWorkout(String nameTypeTraining);
 类似资料:
  • 我尝试在Android房间中附加数据库,如下所示:如何从Android房间中的多个数据库中进行选择(如何附加数据库),但在构建项目时出现错误:错误:查询有问题:[SQLITE\u错误]SQL错误或缺少数据库(没有这样的表:database.table)错误 当我添加@SkipQuery验证时,错误发生了变化:错误:不确定如何将游标转换为此方法的返回类型。 当我从查询中删除“myDatabase.”

  • 我在下面有一个存储库代码,在这里我还希望有一个函数,通过查询数据库(这里我使用了Room)返回购物车项目,这样它就会返回:Select*from cart where cartId={{id} 如何在AsyncTask上编写函数并从中返回值? 存储库类: 我的刀课:

  • 虽然我在构建中集成了库。但当我在设备上运行它时,会发生以下错误。 我的代码是这样的,buidl。格拉德尔 我正在使用Lucence的类 模范班 这一切从哪里开始 }

  • 如果我在room数据库实体中使用JSONObject,我会遇到一个问题。 我有三个类,第一个类是FormEntity,它有一个子类FormDataEntity,而这个FormDataEntity类有一个子类,它有JSONObject。因此,我从api获取数据,其中有一个名为“GFPDF_FORM_Settings”的JSONObject。在此输入图像说明 因此,当从API中使用GSON转换获取数据

  • 我有一个现有的Android项目,在其中我创建了一个新的(offlineservicelibrary)(文件/new/new module/Android library)。在这个库中,我想创建一个房间数据库。 我遵循https://developer.android.com/training/data-storage/room并为我的数据库创建了Entity(OfflineData)和DAO(O