我正在使用Room,并且有一种方法可以将行更新为Database:
@Query("UPDATE packs SET is_opened = 1 WHERE pack_id IN (:packId)")
fun unlockPack(packId: Int)
我从存储库调用它:
override fun unlockOnePackById(packID: Int) {
db.packDaoAccess().unlockPack(packID)
}
从presener调用,然后结果转到Activity。当我使用GET或其他SQL查询时,我得到
Observable
结果:@Query("SELECT * FROM packs")
fun allFullPacks(): Observable<List<AnimalPackFull>>
但据我所知,
UPDATE
不返回任何内容。我如何检测我的UPDATE
查询正确完成?我需要它来显示弹出给用户。 最佳答案
如果您调整查询以使其具有Int的某些返回值,例如
@Query("UPDATE packs SET is_opened = 1 WHERE pack_id IN (:packId)")
fun unlockPack(packId: Int) : Int
它应返回受更新查询影响的行数。
删除查询也是如此