我按照网上的一些信息尝试连接sqlite数据库,以便从一个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
ATTACH
语句中的tempDb
应该没有单引号。在SQLite中,单引号主要用于分隔字符串字面量。语句应采用以下形式:ATTACH 'drive/path/database_name' AS database_alias;
- PositiveLogicDB_PATH
的值是什么? - CL.