Bonjour,
J'ai un petit problème. Je voudrais afficher toutes les données présentes dans ma table. Le soucis ce que d'après des testes, celle-ci est vide... voici des morceaux de codes :
L'activité principale :
La classe qui permet de gérer la table :
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
30
31
32
33 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Création d'une instnce de Score ScoreDAO sDAO = new ScoreDAO(this); //Création d'un score Score s = new Score(new String("Thanos"), new String("986")); Score s2 = new Score(new String("Thanos"), new String("986")); Score s7 = new Score(new String("Thanos"), new String("986")); Score s4 = new Score(new String("Thanos"), new String("986")); Score s5 = new Score(new String("Thanos"), new String("986")); // On ouvre la base de donnée pour écrire dedans sDAO.open(); System.out.println("\n\n\n\n"); // On y ajoute le score sDAO.addScore(s); sDAO.addScore(s2); sDAO.addScore(s7); sDAO.addScore(s5); sDAO.addScore(s4); System.out.println(sDAO.showTable()); } }
Quand je compile ça me dis que la table est vide (grâce à l'affichage ligne 57 de la classe ScoreDAO). Est-ce ma méthode addScore(...) qui est mal coder ? Peut-être ma requête qui est fausse ? Mon Cursor mal initialiser ??
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 public class ScoreDAO { //... private static final int NUMERO_COLONNE_ID = 0; //... private static final int NUMERO_COLONNE_PLAYER= 1; //... private static final int NUMERO_COLONNE_SCORE = 2; private SQLiteDatabase _db; private ScoreDB _scoredb; //... public long addScore(Score s) { ContentValues v = new ContentValues(); v.put(COLONNE_PLAYER, s.get_player()); v.put(COLONNE_SCORE, s.get_score()); return this.get_db().update(TABLE_SCORE, v, COLONNE_ID + " = " + s.get_id(), null); } //... public Score cursorToScore(Cursor c) { // S'il n'y a aucune ligne. if(c.getCount() == 0) return null; // c.moveToFirst(); Score s = new Score(); // On affecte toute les inforamtions de la ligne à Score. s.set_id(c.getInt(NUMERO_COLONNE_ID)); s.set_player(c.getString(NUMERO_COLONNE_PLAYER)); s.set_score(c.getString(NUMERO_COLONNE_SCORE)); c.close(); return s; } public String showTable() { Cursor c = get_db().rawQuery("SELECT * FROM " + TABLE_SCORE, null); String s = new String(""); Score score = new Score(); if(c.getCount() == 0) return "Table Vide"; c.moveToFirst(); do { score = cursorToScore(c); s += score.get_id() + " | " + score.get_player() + " | " + score.get_score() + "\n"; }while(c.moveToNext()); return s; } }
Merci,
Cordialement
Partager