Bonjour tout le monde,
Je debute avec android depuis quelques semaines et j'ai un petit souci avec la selection d'un enregistrement dans ma bdd.
(L'insertion marche très bien.)
Quelques informtions sur ma bdd:
Au juste quand j'essaie de faire une selection dans ma base en fonction de l'id (clé primaire autoincrement) j'ai toujous eu une erreur
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 final static String QUIZ_ID = "id"; final static String QUIZ_QUESTION = "question"; final static String QUIZ_REPONSE = "reponse"; final static String QUIZ_OPTION1 = "option1"; final static String QUIZ_OPTION2 = "option2"; final static String QUIZ_OPTION3 = "option3"; final static String QUIZ_ETAT = "etat"; final static String QUIZ_CREATE_TABLE = "CREATE TABLE "+QUIZ_TABLE_NAME+ "( " +QUIZ_ID+" INTEGER PRIMARY KEY AUTOINCREMENT, " +QUIZ_QUESTION+ " TEXT, " +QUIZ_REPONSE+ " TEXT, " +QUIZ_OPTION1+ " TEXT, " +QUIZ_OPTION2+ " TEXT, " +QUIZ_OPTION3+ " TEXT, " +QUIZ_ETAT+ " INTEGER NOT NULL );";
le code:
quand j'accède a la bdd dans mon code java, ça me ramène une erreure du genre:
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 public Quiz selection(int id) { Quiz info = null; Cursor cursor = db.rawQuery("SELECT * FROM "+QUIZ_TABLE_NAME+ " WHERE " +QUIZ_ID+ " = ?", new String[] {"" +id}); String quest = ""; String rep = ""; String opt1 =""; String opt2 = ""; String opt3 = ""; cursor.moveToFirst(); { Long key = cursor.getLong(0); quest = cursor.getString(1); rep = cursor.getString(2); opt1 = cursor.getString(3); opt2 = cursor.getString(4); opt3 = cursor.getString(5); } info = new Quiz(quest, rep, opt1, opt2, opt3); cursor.close(); return info; }
Caused by: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
Tout marche nickel si je supprimer la clause WHERE
Merci d'avance pour vos reponses![]()
Partager