2017-08-27 26 views
0

DBFlowを使用してデータベースを管理しています。私は、クエリに基づいてレコードを削除しようとしています。次のコードを実行すると、エラーは発生しませんが、レコードは引き続き存在します。DBFlow - データを削除できません

明らかに間違っていることは何ですか?

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

dbからRAMにデータをフェッチしてから、RAMから削除しています。それは実際のデータベースから削除されません。

DBFlow

・ホープ、このヘルプは、この

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

参考ガイドのリンクを試してみてください。 :)

+0

ありがとうございます!私はほとんどDBFlowをあきらめました...私はDB対RAMについては考えていませんでした。 – ArdenDev

関連する問題