SQLite
 sql >> Base de données >  >> RDS >> SQLite

execSQL() avec UPDATE ne se met pas à jour

À partir de la documentation de la classe Android SQLiteDatabase :

Exécutez une seule instruction SQL qui n'est PAS un SELECT ou toute autre instruction SQL renvoyant des données.

Il n'a aucun moyen de renvoyer des données (telles que le nombre de lignes affectées). Au lieu de cela, nous vous encourageons à utiliser insert(String, String,ContentValues), update(String, ContentValues, String, String[]), etal, si possible.

Puis plus tard :

Pour les instructions UPDATE, utilisez plutôt l'une des instructions suivantes.

mettre à jour (chaîne, valeurs de contenu, chaîne, chaîne[])

updateWithOnConflict(String, ContentValues, String, String[], int)

Autant que je sache, le execSQL est plus pour les opérations de base de données de niveau supérieur, telles que la création de tables et la modification de schéma, et le .query , .update , .delete , etc. doivent être utilisées pour modifier les lignes. Je ne suis pas sûr que vous ayez une autre option en plus de .update pour effectuer cette opération.