À 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.