如何查看ROOM数据库中记录是否被删除?

时间:2018-11-23 14:14:51

标签: android sqlite android-sqlite android-room androidx

使用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);

是否可以检查记录是否已删除?

2 个答案:

答案 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)

很容易检查是否删除了数据

您需要关注工具

  

DB浏览器

然后在Android Studio上执行此步骤

  

Android Studio>视图>工具窗口>设备文件资源管理器

在设备文件资源管理器中

  

“设备监视器”窗口将打开。在文件资源管理器选项卡中,单击数据->数据->您的项目名称。之后,将显示您的数据库文件。

     

单击从设备图标中拉出文件。使用.db扩展名保存文件// //或右键单击文件并另存为。

     

然后在 DB Brower for SQLite

中打开该Db      

给定的图像将指导您

Image for Explanation