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

Tentative de réouverture d'un objet sqlitedatabase déjà fermé

Cela se produit à cause de :

db.close();

dans les méthodes :

void addContact(Contact contact)

public void deleteContact(Contact contact)

Vous ne devez pas fermer la connexion à la base de données sous-jacente, sauf si vous vraiment n'avez plus l'intention de travailler avec. Utilisez SQLiteOpenHelper:close , lorsque vous avez terminé votre travail.

De plus, les appels à getReadableDatabase() et getWriteableDatabase() renvoient le même objet de base de données 99 % du temps, et ils ne le font pas réinitialiser la connexion à la base de données que vous avez fermée manuellement.

Ne vous laissez pas berner par ces noms de méthodes.