SQLite
 sql >> база данни >  >> RDS >> SQLite

java.lang.IllegalStateException:Не можах да прочета ред 0, col -1 от CursorWindow - проблем с Android sqlite

Третият ред е проблемът. Вижте изхода на logcat и източниците на Android (търсете в източниците „заявка за име на колона с име на таблица“). Сега погледнете изхода на logcat. Редът с това изречение съдържа името на колоната, което искате:/mnt/sdcard/googleCheckout/Saxo Trader.apk . Тази стойност идва от курсора на резултата. Разбира се, вашата база данни не съдържа тази колона :-)

Заменете линиите

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

с

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

Предлагам също да изтеглите кода за получаване на индексите от вътре в цикъла към извън цикъла. Няма нужда да питате за индексите отново и отново.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. изтрийте базата данни sqlite при актуализиране на нова версия на приложението

  2. Приложението спря да работи поради база данни

  3. Ormlite или sqlite Кой е добър за перспективата на Android?

  4. Android Room Database, извличане на конкретна стойност на последния въведен запис

  5. Автоматично увеличаване на стойността на 'id' при вмъкване в sqlite