Jump to content

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 !

Link to comment
Share on other 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 ;)

Link to comment
Share on other 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 !

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...