[在Android中使用Room时如何检查数据库中是否存在某些项目?

问题描述 投票:0回答:1
@Dao
interface ExampleDao {

    @Query("SELECT * FROM example_table WHERE id = :id")
    fun get(id: Int): LiveData<Example>

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insert(something: Example)
}

当我尝试使用下面的行检查数据库中是否有特定行时>]

val exists = dao.get(id).value != null
if (exists) {
    ...
}

exists变量始终返回null

我知道数据库中已经存在该行,并且UI正确显示了信息。为什么它总是返回null以及如何检查房间数据库中是否存在该行?

@@ Dao接口ExampleDao {@Query(“ SELECT * FROM example_table WHERE id =:id”)fun get(id:Int):LiveData @Insert(onConflict = OnConflictStrategy.REPLACE)fun insert(...

android android-studio kotlin android-room android-database
1个回答
1
投票

我将通过执行另一个查询来做到这一点,如果该项目存在,则返回true;否则,则返回false。

© www.soinside.com 2019 - 2024. All rights reserved.