使用 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/