Aller au contenu

Accés à une table


Recommended Posts

Bonjour à tous !

Voila depuis peut je dois utiliser une base de données SQLite dans mon appli.

Je dois dans une premier temps lister le contenu d'une table dans une ListView et je bloque un peu.

En fait le code plante au moment de l'instanciation d'un SimpleCursorAdapter.

Voici le code:

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
   				android.R.layout.simple_list_item_1,
   				c, new String[]{"libelle"}, new int[]{android.R.id.text1});

L'erreur est la suivante:

02-19 14:53:48.574: ERROR/AndroidRuntime(24883): Caused by: java.lang.IllegalArgumentException: column '_id' does not exist

Le problème, c'est que ma table ne contient effectivement pas de champs nommé "_id" mais je ne fait jamais référence à un tel champ alors pourquoi il s'en va me le chercher ?

Je comprend pas du tout le problème, si quelqu'un à une idée je suis preneur !

Merci d'avance !

Lien vers le commentaire
Partager sur d’autres sites

Un CursorAdapter a besoin d'une colonne '_ID' dans la table pour pouvoir fonctionner; ça lui sert pour identifier les lignes de la table

Donc, si tu veux utiliser un CusorAdapter, tu ajoutes une telle colonne dans la table (en général en autoincrement)

Et si tu ne veux pas mettre de colonne _ID, tu n'utilises pas de CursorAdapter ;)

Lien vers le commentaire
Partager sur d’autres sites

j'ai effectué la modification dans ma base de données mais maintenant j'ai un autre problème:

Quand je veut attaché l'adapter à une listview, j'ai une erreur comme quoi l'adapter vaudrait null.

    	SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
   				android.R.layout.simple_list_item_1,
   				c, 
   				new String[]{"libelle"}, new int[]{android.R.id.text1});

   	LV.setAdapter(adapter);

Donc ça plante au "setAdapter".

Une diée ? Merci d'avance !

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...