-1

我正在尝试删除 Android 中表格的某些行。我尝试直接通过 SQL 命令“execSQL”和“rawQuery”运行。现在我正在使用“db.delete”,我在参数“where”中插入要删除的行。

这是代码:

String where = DBTables.TActivities.ID + " NOT IN ( " +
                " SELECT " + DBTables.TInscripcionesActividades.ID_ACTIVIDAD + " FROM " +DBTables.TInscripcionesActividades.TABLE_NAME + " );";

db.beginTransaction();
db.delete(DBTables.TActivities.TABLE_NAME, where, null);
db.endTransaction();

我在 BBDD 浏览器中测试了 sql 请愿书,它运行良好。

我想删除表“TActividades”的所有记录,除了 ID 在“TInscripcionesActividades”表中的活动。

有任何想法吗??提前致谢!

4

2 回答 2

3

您需要提前致电setTransactionSuccessful()endTransaction()使更改生效。

于 2015-11-17T08:11:02.037 回答
2
String where = DBTables.TActivities.ID + " NOT IN ( " +
                " SELECT " + DBTables.TInscripcionesActividades.ID_ACTIVIDAD + " FROM " +DBTables.TInscripcionesActividades.TABLE_NAME + " );";

db.beginTransaction();
db.delete(DBTables.TActivities.TABLE_NAME, where, null);
db.setTransactionSuccessful();
db.endTransaction();
于 2015-11-17T08:12:18.097 回答