Проблема с базой данных sqlite, нет такой таблицы:
Я открываю базу данных sqlite и использую rawquery для получения данных.
Но log.e показывает информацию:
android.database.sqlite.SQLiteException: нет такой таблицы: types:
Но у меня действительно есть эта таблица.
И я также пытаюсь использовать другой sql, но также получить сообщение об ошибке, например
android.database.sqlite.SQLiteException: нет такой таблицы: торговые центры:
Я уверен, что есть две таблицы.
Итак, зачем получать сообщение об ошибке?
Ответы
Ответ 1
Если это находится в эмуляторе, используйте DDMS File Explorer или adb pull
, чтобы загрузить копию файла базы данных и подтвердить ее содержимое.
И я создаю собственный SQLiteOpenHelper скопировать этот файл в путь: /data/data/com.SGMalls/databases/mallMapv2.sqlite
Если вы пытаетесь скопировать файл в SQLiteOpenHelper
onCreate()
, вы опоздали. Я бы сделал это до этого.
Таким образом, код файла копии не может скопируйте полный файл.
Скорее всего, вы получите ошибку об поврежденном файле в этом случае.
Ответ 2
Если у вас несколько поставщиков контента, вы можете подумать, что ваша таблица существует, пока она отсутствует. В этом случае ошибка, которую вы получаете, является законной.
Взгляните сюда на подробности и решение:
http://devserghini.blogspot.com/2010/11/android-sqliteopenhelper-and-multiple.html
Ответ 3
Я думаю, что эта ошибка возникает при изменении структуры таблицы. Чтобы решить эту проблему, очистите данные
(Настройки → Управление приложением → Очистить данные) перед установкой нового приложения.
С уважением.
Ответ 4
SQLiteDatabase.execSQL()
интерпретация принимает единственную строку sql, заканчивающуюся на ";". Две строки не интерпретируются.
Создание таблиц в нескольких строках sql просто не выполняется.