Проблема с базой данных 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 просто не выполняется.