使用SQLite数据库
db.delete 将返回一个长值,该值是新行的行ID;如果发生错误,则返回 -1 。 因此,您可以通过以下方式检查它是否知道删除成功与否:
int result = db.delete(TABLE_NAME, COLUMN_ID + " = ?",
new String[]{String.valueOf(id)});
if(result != -1){
// Deleted successful
}
但是,在 ROOM DB
中我们可以通过以下方式删除记录:
@Delete
void delete(Notes notes);
是否可以检查记录是否已删除?
答案 0 :(得分:1)
您可以简单地为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
答案 1 :(得分:0)