У мене є додаток для Android, якому потрібно перевірити, чи вже є запис у базі даних, а якщо ні, то обробити деякі речі та врешті-решт вставити їх та просто прочитати дані з бази даних, якщо вони існують. Я використовую підклас SQLiteOpenHelper для створення та отримання перезаписуваного екземпляра SQLiteDatabase, який, на мою думку, автоматично подбав про створення таблиці, якщо вона ще не існувала (оскільки код для цього знаходиться в onCreate (... ) метод).
Однак, коли таблиця ще НЕ існує, і перший метод, запущений на об'єкті SQLiteDatabase, який є у мене, є викликом запиту (...), мій logcat показує помилку "I / База даних (26434): повернено sqlite: помилка code = 1, msg = такої таблиці немає: appdata ", і, звичайно, таблиця appdata не створюється.
Будь-які ідеї чому?
Я шукаю будь-який метод, щоб перевірити, чи існує таблиця (тому що якщо вона не існує, даних, звичайно, немає в ній, і мені не потрібно їх читати, поки я не напишу в неї, що, здається, створює таблицю належним чином), або спосіб переконатися, що він створюється і є просто порожнім, вчасно для першого виклику запиту (...)
EDIT
Це було опубліковано після двох відповідей нижче:
Я думаю, що, можливо, я знайшов проблему. Я чомусь вирішив, що для кожної таблиці повинен бути створений інший SQLiteOpenHelper, хоча обидва мають доступ до одного файлу бази даних. Я думаю, що рефакторинг цього коду, щоб використовувати лише один OpenHelper, і створення обох таблиць всередині нього onCreate може працювати краще ...