Bonjour,
Avec SQLite, j'ai créer une base de donnée. Je la stocke avec une méthode dans un tableau. Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public Mesures[] getTabMesures(){ String query ="SELECT * FROM "+TABLE_MESURES; //2.get reference to writable DB SQLiteDatabase db=this.getWritableDatabase(); Cursor cursor=db.rawQuery(query, null); Mesures[] liste = new Mesures[cursor.getCount()]; //si aucun élément n'a été retourné dans la requête, on renvoie null if (cursor.getCount() == 0) { Mesures mesures = new Mesures(); return(null); } else { //Sinon on se place sur le premier élément cursor.moveToFirst(); Mesures mesures = new Mesures(); for (int i = 0; i < cursor.getCount(); i++) { mesures.setID(cursor.getString(0)); mesures.setLibelle(cursor.getString(1)); mesures.setDescription(cursor.getString(2)); liste[i]=mesures; cursor.moveToNext(); } return (liste); } }
J'ai fait une autre méthode pour pouvoir comparer une chaîne avec l'ensemble des id de la base :
Dans mon code, j'utilise les méthodes ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public Mesures getLibelle(String fus){ String query ="SELECT Libelle FROM "+TABLE_MESURES+" WHERE id= '"+fus+"'"; //2.get reference to writable DB SQLiteDatabase db=this.getWritableDatabase(); Cursor cursora=db.rawQuery(query, null); if (cursora!=null) cursora.moveToNext(); //4.build mesures object Mesures mesures=new Mesures(); mesures.setLibelle(cursora.getString(0)); //5.return mesures db.close(); return mesures; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 final Mesures[] a = db.getTabMesures(); for(int i=0;i<=a.length;i++){ Libelle.setText((CharSequence) db.getLibelle(fus)); }
Quand j’exécute mon application, l'erreur écrite dans l'intitulé s'affiche dans le logcat.
Quelqu'un saurait m'expliquer d'où vient l'erreur? J'ai du faire une erreur dans l'utilisation des méthodes, mais je ne vois pas.
Je débute en java, la majorité de mon code résulte de morceaux de code trouvés à gauche, à droite sur Internet.
Merci d'avance de votre compréhension et pour vos réponses!
Partager