SQLite
 sql >> Base de données >  >> RDS >> SQLite

java.lang.IllegalStateException :Impossible de lire la ligne 0, col -1 de CursorWindow - Problème avec Android sqlite

La troisième ligne est le problème. Consultez votre sortie logcat et les sources Android (recherchez dans les sources "demander le nom de la colonne avec le nom de la table"). Jetez maintenant un œil à votre sortie logcat. La ligne avec cette phrase contient le nom de la colonne que vous demandez :/mnt/sdcard/googleCheckout/Saxo Trader.apk . Cette valeur provient de votre curseur de résultat. Bien sûr, votre base de données ne contient pas cette colonne :-)

Remplacez les lignes

     String url = c.getString(c.getColumnIndex(c.getString(0)));
     String code = c.getString(c.getColumnIndex(c.getString(1)));

avec

     String url = c.getString(c.getColumnIndex("reco_index_user_action_download_file"));
     String code = c.getString(c.getColumnIndex("reco_index_content_code"));

Je suggère également de tirer le code pour obtenir les indices de l'intérieur de la boucle vers l'extérieur de la boucle. Pas besoin de demander les indices encore et encore.