Проблема импорта базы данных в Android Pie? - PullRequest
0 голосов
/ 08 сентября 2018

Я использую базу данных предварительной загрузки с несколькими таблицами с данными, уже присутствующими в таблицах во всех таблицах. В журнале My Error показано «нет такой таблицы: торт (код 1 SQLITE_ERROR): при компиляции: выберите * из торта в», но на самом деле таблица и ее данные уже есть.

Я также проверил скопированную базу данных в телефоне, она была там, но в коде она показывает ошибку выше.

Как решить эту проблему ??

Примечание. Эта ошибка возникает только в Google Pixel Phone ..

AndroidRuntime: FATAL EXCEPTION: main Процесс: com.ebizzapps.swadishtcooking recipesinhindi, PID: 9060 java.lang.RuntimeException: не удается запустить действие ComponentInfo android.database.sqlite.SQLiteException: нет такой таблицы: торт (код 1 SQLITE_ERROR):, во время компиляции: выбрать * из торта на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2913) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3048) на android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) на android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) на android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1808) на android.os.Handler.dispatchMessage (Handler.java:106) на android.os.Looper.loop (Looper.java:193) на android.app.ActivityThread.main (ActivityThread.java:6669) в java.lang.reflect.Method.invoke (родной метод) в com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:493) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858) Вызывается: android.database.sqlite.SQLiteException: нет такой таблицы: торт (код 1 SQLITE_ERROR): при компиляции: выберите * из кекс на android.database.sqlite.SQLiteConnection.nativePrepareStatement (Native Метод) на android.database.sqlite.SQLiteConnection.acquirePreparedStatement (SQLiteConnection.java:903) на android.database.sqlite.SQLiteConnection.prepare (SQLiteConnection.java:514) на android.database.sqlite.SQLiteSession.prepare (SQLiteSession.java:588) на android.database.sqlite.SQLiteProgram. (SQLiteProgram.java:58) на android.database.sqlite.SQLiteQuery. (SQLiteQuery.java:37) на android.database.sqlite.SQLiteDirectCursorDriver.query (SQLiteDirectCursorDriver.java:46) в android.database.sqlite.SQLiteDatabase.rawQueryWithFactory (SQLiteDatabase.java:1408) на android.database.sqlite.SQLiteDatabase.rawQuery (SQLiteDatabase.java:1347) на com.ebizzapps.swadishtcooking recipesinhindi.DBHelper.getDatas (DBHelper.java:162) на com.ebizzapps.swadishtcooking recipesinhindi.DetailRecipe.onCreate (DetailRecipe.java:161) на android.app.Activity.performCreate (Activity.java:7136) на android.app.Activity.performCreate (Activity.java:7127) на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1271) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2893) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3048) на android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) на android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) на android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1808) на android.os.Handler.dispatchMessage (Handler.java:106) на android.os.Looper.loop (Looper.java:193)на android.app.ActivityThread.main (ActivityThread.java:6669) в java.lang.reflect.Method.invoke (родной метод) в com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:493) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)

Ответы [ 3 ]

0 голосов
/ 08 сентября 2018

Из вашего журнала ошибок.

нет такой таблицы: торт (код 1 SQLITE_ERROR): при компиляции: выбрать * от торта в

Упоминается, что нет таблицы с именем cake. Поэтому перед извлечением значения из таблицы убедитесь, что в базе данных уже существует таблица с таким именем.

0 голосов
/ 05 октября 2018

См. Этот стековый пост: Android P SQLite Pragma Log .

Отключить запись с записью вперед на вашем SQLiteOpenHelper onOpen методе, например:

@Override
public void onOpen(SQLiteDatabase db) {
    super.onOpen(db);
    db.disableWriteAheadLogging();
}
0 голосов
/ 08 сентября 2018

Создайте таблицу и назовите ее «торт». Согласно журналу ошибок

enter image description here

такой таблицы «торт» не существует .IЯ думаю, что вы забыли поместить свою базу данных в папку активов.

Спасибо

...