Я столкнулся с другим вкусом той же проблемы.
Я получаю no such table
Ошибка при попытке вставить.
Перед установкой, код звала
mDb = mDbHelper.getWritableDatabase();
getWritableDatabase()
, когда называется первый раз будет вызывать onCreate()
Я имел мой SQL запрос, чтобы создать таблицу в этой OnCreate метод
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
Log.v("INFO1","creating db");
//Toast.makeText(mCtx, "created", Toast.LENGTH_SHORT).show();
}
Так что для меня случилось то, что db
был успешно создан, когда приложение было выполнено в первый раз bu t нет таблицы из-за некоторых других ошибок. Позже, когда приложение запускается, onCreate()
никогда не вызывается, поскольку db
уже существует и, таким образом, таблица не создана, поэтому все дальнейшие SQL-команды не удались.
Так что я переехал создание таблицы из onCreate()
, и теперь его работой
Вы запустить свой код на чистый эмуляторе? Вы также подтвердили, что код, создающий таблицу, выполняется? Следующим шагом было бы получить sqlite db от emualtor и посмотреть на него с помощью браузера базы данных sqlite, чтобы проверить, действительно ли таблица существует. – hacken
Привет! Я уже создал базу данных и просто использовал уже созданную базу данных, поэтому таблица уже создана. Я просто делаю SELECT в существующей таблице. Я беспокоюсь, что он отлично работает на симуляторе, а не на телефоне. –
Вы проверили, что таблица есть? Гораздо более вероятно, что таблицы нет на телефоне, чем нет. Снова очень просто проверить, правильно ли вы создали БД. – hacken