使用Room的insert()和update()方法时,会返回一个long类型的结果值。该值表示插入/更新的行数,如果返回-1,则表示操作失败。可以在插入/更新数据时,通过检查返回的结果值来判断操作是否成功。
以下是一个示例代码:
// 定义一个User实体类 @Entity(tableName = "user") data class User( @PrimaryKey val id: String, val name: String, val age: Int )
// 定义一个UserDao @Dao interface UserDao { @Insert fun insert(user: User): Long // 返回值为Long类型
@Update
fun update(user: User): Long // 返回值为Long类型
}
// 在使用insert()和update()方法时,检查返回值 val userDao = db.userDao() val user = User("123", "Alice", 20) val result = userDao.insert(user) if (result > 0) { Log.d(TAG, "插入成功") } else { Log.d(TAG, "插入失败") }
val updateUser = User("123", "Bob", 22) val updateResult = userDao.update(updateUser) if (updateResult > 0) { Log.d(TAG, "更新成功") } else { Log.d(TAG, "更新失败") }