sql >> Base de Datos >  >> RDS >> SQLite

java.lang.IllegalStateException:no se pudo leer la fila 0, col -1 de CursorWindow - Problema de sqlite de Android

La tercera línea es el problema. Vea su salida de logcat y las fuentes de Android (busque dentro de las fuentes "solicitando el nombre de la columna con el nombre de la tabla"). Ahora eche un vistazo a su salida logcat. La línea con esta oración contiene el nombre de la columna que está solicitando:/mnt/sdcard/googleCheckout/Saxo Trader.apk . Este valor proviene de su cursor de resultados. Por supuesto, su base de datos no contiene esta columna :-)

Sustituye las líneas

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

con

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

También sugiero extraer el código para obtener los índices desde dentro del bucle hasta fuera del bucle. No es necesario pedir los índices una y otra vez.