gpt4 book ai didi

android - 如何检查 ROOM 数据库中的记录是否被删除?

转载 作者:行者123 更新时间:2023-12-03 13:39:22 24 4
gpt4 key购买 nike

使用 SQLite 数据库,

db.delete 将返回一个 long 值,即新行的行 ID,或 -1 如果发生错误。
因此,您可以通过以下方式检查它以了解删除是否成功:

int result = db.delete(TABLE_NAME, COLUMN_ID + " = ?",
new String[]{String.valueOf(id)});
if(result != -1){
// Deleted successful
}

但是,在 房间数据库

我们可以通过以下方式删除记录:
 @Delete
void delete(Notes notes);

是否有任何选项可以检查记录是否已删除?

最佳答案

您可以简单地定义一个 Int返回类型为 @Delete方法。返回的Int将是删除的行数。 ( 0 如果没有删除任何内容)

例子

ProductsDao.kt

@Dao
interface ProductsDao {

/**
* To delete one or more products.
* Returns number of rows deleted. 0 if no row deleted.
*/
@Delete
fun delete(vararg products: Product): Int // This is what you want

}

我会检查该行是否像这样被删除

// one row
val isDeleted = productsDao.delete(product) == 1

// multiple rows
val isDeleted = productsDao.delete(productList) == productList.size

关于android - 如何检查 ROOM 数据库中的记录是否被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53448287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com