J'utilise DBFlow dans mon projet Android et j'aimerais savoir s'il existe un moyen de mettre à jour l'objet entier au lieu de spécifier chaque colonne comme indiqué ci-dessous.
// Native SQL wrapper
SQLite.update(Ant.class)
.set(Ant_Table.type.eq("other"))
.where(Ant_Table.type.is("worker"))
.and(Ant_Table.isMale.is(true))
.async()
.execute(); // non-UI blocking
Extrait du guide https://agrosner.gitbooks.io/dbflow/content/SQLiteWrapperLanguage.html
La partie "Set" de la mise à jour prend en charge différents types de valeurs :
- ContentValues -> convertit en clé/valeur comme un SQLOperator de is()/eq()
- SQLOperator, qui sont regroupés dans le cadre de l'instruction SET.
A partir de là, j'ai essayé de passer une ContentValues dans la méthode set.
// Native SQL wrapper
SQLite.update(Ant.class)
.set(contentValues)
.where(Ant_Table.type.is("worker"))
.and(Ant_Table.isMale.is(true))
.async()
.execute(); // non-UI blocking
et j'obtiens une erreur de compilation
set (com.raizlabs....SQLOperator...) in Update cannot be applied
to (android.content.ContentValues)