【问题标题】:Updating room database by using Object使用 Object 更新房间数据库
【发布时间】:2022-11-09 15:22:44
【问题描述】:

我在 android 中使用 Room 数据库,我想通过使用对象来更新它。

我想做这个。可能吗? `


@Query("UPDATE video_info_table SET videoStatus = :model.videoStatus WHERE id = :model.id")
fun delete(model: FileModelClass)

`

【问题讨论】:

    标签: android database kotlin android-room


    【解决方案1】:

    (不直接),你应该使用: -

    @Update
    fun update(model: FileModelClass)
    
    • 并且显然正确设置了所有字段/成员(因为所有字段都禁止主键,用于 where 子句,将被更新)

    或者

    @Query("UPDATE video_info_table SET videoStatus = :videoStatus WHERE id = :id")
    fun update(videoStatus: String, id: Long)
    
    • 打电话时使用thedao.update(theFileModelClass.videoStatus,theFileModel.id)

    • 请注意,可能必须更改类型以适应实际的字段/成员(例如,可能是 Int 而不是 Long

    当然,您可以在界面中为第二个包装器因此对这个问题是肯定的,但间接地, 如

    fun update(model: FileModelClass) {
        update(model.videoStatus, model.id)
    }
    

    【讨论】:

      【解决方案2】:

      你可以试试这个

      @Query("UPDATE video_info_table SET videoStatus =:status WHERE id = :id")
      void update(String status, int id);
      

      【讨论】:

        猜你喜欢
        • 2019-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-18
        • 2020-04-14
        相关资源
        最近更新 更多