Я следил за информацией, которую я нашел на веб-сайте, о прикреплении базы данных sqlite с целью копирования таблицы из одного sqlite db в другой, но я не могу заставить ее работать. Я пытаюсь прикрепить базу данных с этим кодом:sqlite - приложить базу данных
DB_PATH = context.getDatabasePath("WineDB.sqlite").toString();
SQLiteDatabase backupDatabase = backupDBHandler.getWritableDatabase();
backupDatabase.execSQL("ATTACH '" + DB_PATH + "' AS 'tempDb'");
До сих пор он работает без ошибок. Тогда я пытаюсь создать новую таблицу в резервной базе данных путем копирования его из TempDb:
sqlDB.execSQL("CREATE TABLE my_Producent AS SELECT * FROM tempDb.my_Producent");
И она падает с ошибкой «нет такой таблицы„tempDb.my_Producent“Однако я не уверен, что таблица существует в база данных «WineDB.sqlite». Я создаю его в методе OnCreate, который называется, прежде чем я подключить базу данных к BackupDatabase.
Спасибо за любую помощь Приветствия user2302510
(удалено ......) –
Одиночных кавычек вокруг 'tempDb' (в инструкции' ATTACH') не должно быть. Одиночные кавычки в SQLite предназначены в первую очередь для разграничения строковых литералов. Заявление должно принимать форму 'ATTACH 'drive/path/database_name' AS database_alias; ' – PositiveLogic
Каково значение' DB_PATH'? –