2011-06-15 2 views

Répondre

0

A partir de la doc sur la méthode execSQL():

exécuter une seule instruction SQL qui n'est pas un SELECT/INSERT/UPDATE/DELETE.

Vous devez utiliser la méthode update() à la place

+0

Oui, il est juste d'utiliser La méthode update(), mais il ne semble pas facile d'ajouter une valeur à la valeur d'origine en utilisant la méthode update. – David

+0

Je ne suis pas sûr mais vous pouvez essayer d'utiliser la méthode rawQuery() avec l'instruction sql de votre question. Voir ce lien http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#rawQuery(java.lang.String, java.lang.String []). Sinon, vous devrez faire une requête suivie d'une mise à jour. – Noel

0

J'ai eu un problème similaire et a résolu le problème en l'entourant avec:

db.beginTransaction(); 
try { 
    //do stuff, including execSQL() 
    db.setTransactionSuccessful(); 
} finally { 
    db.endTransaction(); 
} 

Voir aussi https://stackoverflow.com/a/5575277/6027

Questions connexes