iti*_*nce 6 database sqlite android
在 iOS 和 Android 上的本机应用程序项目中,我们在 Android 上遇到了sqlite3的问题。我们想要打开两个数据库,并通过ATTACH DATABASE(sql 命令)将一个数据库附加到第二个数据库。
打开sqlite3数据库“user.db”(Android设备上的最终本机文件路径是“/data/user/0/com.company.app/databases/user.db”,我们使用android.database.sqlite.SQLiteDatabase)
打开sqlite3数据库“system.db”
将用户数据库附加到系统数据库:
在 system.db-database 的 SQLiteDatabase-Instance 上,我们执行
ATTACH DATABASE '/data/user/0/com.company.app/databases/user.db' AS dbUser
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误:
数据库 dbUser 已在使用中(代码 1)
iOS 版 sqlite3 上的相同 sql 语句运行良好,没有任何错误。
为了完整性。使用以下语句打开数据库:
import android.database.sqlite.SQLiteDatabase;
SQLiteDatabase mydb = SQLiteDatabase.openDatabase(dbfile.getAbsolutePath(), null, openFlags);
Run Code Online (Sandbox Code Playgroud)
向 google 询问此类错误消息,很多网站都指出不允许使用 TEMP 作为数据库别名。由于我们使用“dbUser”而不是TEMP,所以应该还有另一个原因。我们现在还无法弄清楚。
有人可以帮忙吗?
| 归档时间: |
|
| 查看次数: |
3402 次 |
| 最近记录: |