Android sqlite delete 实际上并没有删除行

标签 android sqlite delete-row

我正在使用一个相当简单的命令来尝试删除 SQLite 数据库中的行。但是,成功运行命令后,行仍然保留在数据库中!?

SQLiteDatabase dbinst = mydb.getWritableDatabase();

try
{
  dbinst.beginTransaction();
  int del = dbinst.delete("sms", "wassent = ? or waserror = ? or wasaborted = ?", new String[] {"1", "1", "1"} );   
  clog.debug("Rows deleted: " + del);
  dbinst.setTransactionSuccessful();
}
catch(Exception e)
{
  clog.error(e.toString(),e);
}

dbinst.close();

记录器显示“已删除的行数:3”,没有出现异常。但是,紧接着查询时,行还在?

我在这里做错了什么明显的事情吗?

最佳答案

您必须调用 endTransaction 才能实际提交更改。更多信息可以在这里找到:beginTransaction() documentation

关于Android sqlite delete 实际上并没有删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6883708/

相关文章:

android - sonarqube 具有 android 测试和测试覆盖率

sqlite - SpatiaLite v4.0.0 RecoverGeometryColumn 违反几何约束 [geom-type or SRID not allowed]'

django - 在本地为 Django 使用 SQLite,在服务器上使用 Postgres

ios - CoreData 搜索速度太慢

sql - 按列对删除表中存在的行

java.lang.RuntimeException : Unable to instantiate activity 错误

android - Android 中的字幕文本

java - Android-Java : Get data from many EditText and set each one to different int variable -Two array with for loop

php - 允许用户删除个人资料信息

entity-framework - 使用 EF Code First 的简单删除查询