DBFlow - 无法删除数据

时间:2017-08-27 03:58:08

标签: android android-database dbflow

我使用DBFlow在Android中管理我的数据库。我试图根据查询删除记录。当我执行以下代码时,我没有收到错误,但记录仍然存在。

我做错了什么?

SQLite.select()
      .from(Person.class)
      .where(query)
      .async()
      .querySingleResultCallback(new QueryTransaction.QueryResultSingleCallback<Person>() {
                @Override
                public void onSingleQueryResult(QueryTransaction transaction, @Nullable Person person) {

                    person.delete();
                }
            })
      .error(new Transaction.Error() {
                    @Override
                    public void onError(Transaction transaction, Throwable error) {

                        Exception ex = new Exception(error);
                        callback.onError(ex);
                    }
                })
       .success(new Transaction.Success() {
                    @Override
                    public void onSuccess(@NonNull Transaction transaction) {
                        callback.onSuccess();
                    }
                })
       .execute();

1 个答案:

答案 0 :(得分:1)

您正在从db获取数据到RAM然后从RAM中删除。它不会从实际数据库中删除。

试试这个

SQLite.delete(Person.class)
.where(query)
.async()
.execute();

有用的指南链接 DBFlow

希望这有帮助。 :)