Rjz*_*ara 7 sqlite android android-sqlite android-room androidx
使用 SQLite 数据库,
db.delete将返回一个 long 值,即新行的行 ID,如果发生错误,则返回-1。因此,您可以通过以下方式检查它以了解删除是否成功:
int result = db.delete(TABLE_NAME, COLUMN_ID + " = ?",
new String[]{String.valueOf(id)});
if(result != -1){
// Deleted successful
}
Run Code Online (Sandbox Code Playgroud)
但是,在 房间数据库中
我们可以通过以下方式删除记录:
@Delete
void delete(Notes notes);
Run Code Online (Sandbox Code Playgroud)
是否有任何选项可以检查记录是否已删除?
您可以简单地定义Int该@Delete方法的返回类型。返回的Int将是删除的行数。(0如果没有删除任何内容)
产品道.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
}
Run Code Online (Sandbox Code Playgroud)
我会检查该行是否像这样被删除
// one row
val isDeleted = productsDao.delete(product) == 1
// multiple rows
val isDeleted = productsDao.delete(productList) == productList.size
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2031 次 |
| 最近记录: |