Selection dans une base de données sqlite
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:
Code:
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 );"; |
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
le code:
Code:
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;
} |
quand j'accède a la bdd dans mon code java, ça me ramène une erreure du genre:
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:D:D