2010-12-03 2 views
0

Je travaille sur une application et cela fonctionne bien mais dans log je peux voir l'erreur ci-dessous: PLease suggèrent quelle pourrait être la raison derrière ceci et comment résoudre ce problème .. J'ai fermé tous les curseurs et fermant également la connexion à la base de données après utilisation. Aider l'aide ...Erreur de base de données dans logcat

12-02 17: 16: 48.500: ERREUR/Base de données (388): close() n'a jamais été appelé explicitement dans la base de données '/data/data/com.example.my/databases/my .db ' 12-02 17: 16: 48.500: ERREUR/Base de données (388): android.database.sqlite.DatabaseObjectNotClosedException: L'application n'a pas fermé le curseur ou l'objet de base de données ouvert ici 12-02 17: 16: 48.500 : ERREUR/base de données (388): at android.database.sqlite.SQLiteDatabase. (SQLiteDatabase.java:1810) 12-02 17: 16: 48.500: ERREUR/base de données (388): at android.database.sqlite.SQLiteDatabase. openDatabase (SQLiteDatabase.java:817) 12-02 17: 16: 48.500: ERREUR/Base de données (388): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase (SQLiteDatabase.java:851)

+0

Veuillez noter que j'ai modifié la réponse ci-dessous. Cette fois, ça devrait être la bonne réponse! –

Répondre

0

Vous devez fermer la base de données à partir de la méthode onDestroy de votre activité. En supposant que vous avez écrit votre application en utilisant une classe "aide de base de données", comme dans certains tutoriels Android tels que Notepad, alors cela devrait fonctionner pour vous en l'état. (Sinon, remplacez simplement mDbHelper.close() par l'appel approprié pour fermer la connexion à votre base de données.)

public class MyClass extends Activity { 
// ... 
    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     mDbHelper.close(); 
    } 
} 
+0

Merci beaucoup .. il a effectivement résolu mon problème aussi .. :) – Angel

+0

@Angel: J'ai peur que j'avais raison de ne pas faire confiance à cette réponse; Je viens de revoir l'erreur. J'ai remplacé ce que j'avais écrit par une réponse que je pense correcte. Si cela fonctionne pour vous, s'il vous plaît "accepter". Merci. –

Questions connexes