У меня есть приложение для Android, которое должно проверить, есть ли уже запись в базе данных, и если нет, обработать некоторые вещи и, в конце концов, вставить их, и просто прочитать данные из базы данных, если данные существуют.Я использую подкласс SQLiteOpenHelper для создания и получения перезаписываемого экземпляра SQLiteDatabase, который, как я думал, автоматически позаботился о создании таблицы, если она еще не существует (поскольку код для этого находится в onCreate (...) метод).
Однако, когда таблица еще не существует, и первый метод, запущенный на имеющемся у меня объекте SQLiteDatabase, - это вызов запроса (...), мой logcat показывает ошибку «I / Database (26434»).): sqlite вернул: код ошибки = 1, msg = нет такой таблицы: appdata ", и, конечно же, таблица appdata не создается.
Есть идеи, почему?
Я ищу какой-либо метод, чтобы проверить, существует ли таблица (потому что, если она не существует, данные, безусловно, не в ней, и мне не нужно читать ее, пока я не напишу в нее,который, кажется, создает таблицу должным образом), или способ убедиться, что она создается и является просто пустой, во время первого вызова запроса (...)
EDIT Это было опубликовано после двух ответов ниже:Я думаю, что, возможно, нашел проблему.По какой-то причине я решил, что для каждой таблицы должен быть создан отдельный SQLiteOpenHelper, хотя оба имеют доступ к одному и тому же файлу базы данных.Я думаю, что рефакторинг этого кода для использования только одного OpenHelper, и создание обеих таблиц внутри его onCreate может работать лучше ...