IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

debutant : cursor SQLlite


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 11
    Par défaut debutant : cursor SQLlite
    bonjour,
    je débute et je suis en train de d'essayer de lire une table SQLlite dans une listview.
    je me suis largement inspiré des exemples lus sur le net et pourtant mon cursor reste désespérément vide..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	db.open();
    	Cursor c = db.chargeArticles() ;
    	SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this,R.layout.liste_articles,c,from, to,0) ;
    	ListeArticles.setAdapter(cursorAdapter) ;
    et ma fonction chargeArticles..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
       public Cursor chargeArticles() {
        	   	Cursor c;
    	   	String[] cols = {COL_NOM} ;
    	  	 c = bdd.query("ARTICLES", cols,null, null, null, null, null);
    	   // 	 c=bdd.rawQuery("select * from "+TABLE_ARTICLES,null) ;
    	    	 return c;
    je tourne en rond depuis plusieurs jours, je ne vosi pas ou ca peche...
    je joints le source de mon petit projet
    cordialement
    Pascal
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 46
    Par défaut
    Bonjour, Dans un premier temps il faut déterminer si c'est le remplissage de ta ListView ou si cela provient de la récupération des données en base qui pose problème.

    Pose un point d'arrêt sur ton "return c" dans ta méthode chargeArticles() et regarde le contenu de ta variable "c" voir si tu as des données dedans.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 11
    Par défaut
    bonjour,
    C'est ce que j'ai fait, et c'est le cursor c qui est vide.
    par contre la connexion à la base semble correcte car dans mon code si je rajoute des insertion dans la base celles ci se font bien, par contre la fonction chargearticles ne rempli pas de cursor
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    db.open();
     
    Articles a = new Articles("Biscottes",6,1)  ;
    Articles b = new Articles("Caca-Cola",6,2)  ;
    db.insertArticle(a) ;
    db.insertArticle(b) ;
     
    Cursor c = db.chargeArticles() ;
    SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this,R.layout.liste_articles,c,from, to,0) ;
    ListeArticles.setAdapter(cursorAdapter)
    C'est pour cela que je tourne en rond depuis quelques jours, si une bonne âme pouvait installer mon projet et me dire ou est l'erreur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     public Cursor chargeArticles() {
        	   	Cursor c;
    	   // 	String[] cols = {COL_NOM} ;
    	   // 	 c = bdd.query("ARTICLES", cols,null, null, null, null, null);
    	    	 c=bdd.rawQuery("select ART_NOM from "+TABLE_ARTICLES,null) ;
        	 return c;
     
    	    }

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Un CursorAdapter nécessite que le cursor propose un champ "ID_" (ou _ID) je ne sais plus dans la requête... Vérifie sur la documentation de CursorAdapter.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 11
    Par défaut
    j'ai changé ma colonne ART_ID par _id,
    Et ca marche beaucoup mieux !!!
    Merci bien !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/06/2007, 19h03
  2. [debutant] Cursor d'attente lors d'une action??
    Par fix105 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/06/2006, 09h05
  3. [FLASH] pb debutant
    Par ultrakas dans le forum Flash
    Réponses: 2
    Dernier message: 05/06/2003, 00h48
  4. [debutant]Limiter le temps de saisi
    Par Nasky dans le forum C
    Réponses: 5
    Dernier message: 17/03/2003, 15h47
  5. Réponses: 3
    Dernier message: 09/02/2003, 01h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo