Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cursor Android Sqlite

android

Sujet résolu
    19 août 2013 à 19:53:35

    salut a tous. j'essaie de  selectionnec les donnees d'une table pour les envoyer a un serveur mais je bute sur l'erreur suivante :

    18:47:41.218: E/Cursor(1849): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.malambi.beamme/databases/geolocalisation.db, table = null, query = SELECT  id_commands,commande FROM commandes
    08-19 18:47:41.218: E/Cursor(1849): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
    08-19 18:47:41.218: E/Cursor(1849): 	at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:210)
    08-19 18:47:41.218: E/Cursor(1849): 	at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
    08-19 18:47:41.218: E/Cursor(1849): 	at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
    08-19 18:47:41.218: E/Cursor(1849): 	at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1315)
    08-19 18:47:41.218: E/Cursor(1849): 	at com.malambi.beamme.network.SendData.run(SendData.java:62)
    08-19 18:47:41.218: E/Cursor(1849): 	at java.util.Timer$TimerImpl.run(Timer.java:289)
    08-19 18:47:41.248: E/Database(1849): close() was never explicitly called on database '/data/data/com.malambi.beamme/databases/geolocalisation.db' 
    08-19 18:47:41.248: E/Database(1849): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
    08-19 18:47:41.248: E/Database(1849): 	at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1810)
    08-19 18:47:41.248: E/Database(1849): 	at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:817)
    08-19 18:47:41.248: E/Database(1849): 	at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:851)
    08-19 18:47:41.248: E/Database(1849): 	at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:844)
    08-19 18:47:41.248: E/Database(1849): 	at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:554)
    08-19 18:47:41.248: E/Database(1849): 	at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
    08-19 18:47:41.248: E/Database(1849): 	at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
    08-19 18:47:41.248: E/Database(1849): 	at com.malambi.beamme.database.CoordonneesHandler.open(CoordonneesHandler.java:31)
    08-19 18:47:41.248: E/Database(1849): 	at com.malambi.beamme.network.SendData.run(SendData.java:60)
    08-19 18:47:41.248: E/Database(1849): 	at java.util.Timer$TimerImpl.run(Timer.java:289)
    08-19 18:47:41.258: E/Cursor(1849): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.malambi.beamme/databases/geolocalisation.db, table = null, query = SELECT  id_commands,commande FROM commandes
    08-19 18:47:41.258: E/Cursor(1849): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
    08-19 18:47:41.258: E/Cursor(1849): 	at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:210)
    08-19 18:47:41.258: E/Cursor(1849): 	at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
    08-19 18:47:41.258: E/Cursor(1849): 	at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
    08-19 18:47:41.258: E/Cursor(1849): 	at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1315)
    08-19 18:47:41.258: E/Cursor(1849): 	at com.malambi.beamme.network.SendData.run(SendData.java:62)
    08-19 18:47:41.258: E/Cursor(1849): 	at java.util.Timer$TimerImpl.run(Timer.java:289)
    08-19 18:47:41.278: E/Database(1849): close() was never explicitly called on database '/data/data/com.malambi.beamme/databases/geolocalisation.db' 
    08-19 18:47:41.278: E/Database(1849): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
    08-19 18:47:41.278: E/Database(1849): 	at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1810)
    08-19 18:47:41.278: E/Database(1849): 	at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:817)
    08-19 18:47:41.278: E/Database(1849): 	at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:851)
    08-19 18:47:41.278: E/Database(1849): 	at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:844)
    08-19 18:47:41.278: E/Database(1849): 	at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:554)
    08-19 18:47:41.278: E/Database(1849): 	at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
    08-19 18:47:41.278: E/Database(1849): 	at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
    08-19 18:47:41.278: E/Database(1849): 	at com.malambi.beamme.database.CoordonneesHandler.open(CoordonneesHandler.java:31)
    08-19 18:47:41.278: E/Database(1849): 	at com.malambi.beamme.network.SendData.run(SendData.java:60)
    08-19 18:47:41.278: E/Database(1849): 	at java.util.Timer$TimerImpl.run(Timer.java:289)
    08-19 18:47:41.298: E/Cursor(1849): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.malambi.beamme/databases/geolocalisation.db, table = null, query = SELECT  id_commands,commande FROM commandes
    08-19 18:47:41.298: E/Cursor(1849): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
    08-19 18:47:41.298: E/Cursor(1849): 	at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:210)
    08-19 18:47:41.298: E/Cursor(1849): 	at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:53)
    08-19 18:47:41.298: E/Cursor(1849): 	at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
    08-19 18:47:41.298: E/Cursor(1849): 	at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1315)
    08-19 18:47:41.298: E/Cursor(1849): 	at com.malambi.beamme.network.SendData.run(SendData.java:62)
    08-19 18:47:41.298: E/Cursor(1849): 	at java.util.Timer$TimerImpl.run(Timer.java:289)

    voici mon code :

    -
    Edité par beza88 21 août 2013 à 13:40:07

    • Partager sur Facebook
    • Partager sur Twitter
    A Vaincre sans péril on finit par triompher sans gloire  ->  le Cid de corneille
      21 août 2013 à 11:24:18

      Salut,

      Tu as oublié de fermer ton cursor. Rajoute cursor.close();

      Edit: Aussi dans ton bloc "if(pos == true)" tu réutilises handler alors que tu peut l'avoir fermé dans le bloc d'instruction précédent.

      -
      Edité par 42isalie 21 août 2013 à 11:26:05

      • Partager sur Facebook
      • Partager sur Twitter
        21 août 2013 à 13:14:35

        beza88 a écrit:

        salut a tous. j'essaie de  selectionnec les donnees d'une table pour les envoyer a un serveur mais je bute sur l'erreur suivante :

        18:47:41.218: E/Cursor(1849): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.malambi.beamme/databases/geolocalisation.db, table = null, query = SELECT  id_commands,commande FROM commandes
        08-19 18:47:41.218: E/Cursor(1849): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here

        Comme l'a dit isalie, tu n'as pas fermé ton curseur.
        La réponse à ta question est écrite (et très explicite) à la première ligne de ce logcat, c'est pas la première fois que je te vois poster des questions du genre alors que tu as la réponse sous les yeux.


        Il faut vraiment que tu te forces à lire ces logs et à comprendre d'où viennent les soucis toi-même.
        Plus tu en liras, plus vite tu comprendras d'où viennent tes bugs et tu gagneras beaucoup de temps sur le dev de tes applications.

        • Partager sur Facebook
        • Partager sur Twitter

        Cursor Android Sqlite

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown