我正在使用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
查询是否正确?我需要它来向用户显示弹出窗口。
答案 0 :(得分:2)
如果您对查询进行调整,使其具有Int的某些返回值,则像这样
@Query("UPDATE packs SET is_opened = 1 WHERE pack_id IN (:packId)")
fun unlockPack(packId: Int) : Int
它应该返回您受更新查询影响的行数。 删除查询也是如此