如何解决sqlite3第二次未打开预填充的数据库
我正在探索sqlite 3插件,但发现了一个奇怪的问题,我在整个网络上都找不到。
我正在使用android。因此,在资产文件夹中,我有一个包含一些数据的数据库。数据库名称为sqliteexample.db
。
然后我用下面的代码打开数据库。这是成功的。
var SQLite = require('react-native-sqlite-storage');
var db = SQLite.openDatabase(
{
name: 'sqliteexample',createFromLocation: '1'
},() => {
console.log('db connection success');
},(error) => {
console.log('db connection error');
console.log(error)
},);
现在,为了检查不同的情况,我将数据库文件名重命名为sqliteexample1.db
。然后我在下面的代码上更改了它
{
name: 'sqliteexample1',
仅此而已,我开始收到错误cannot open database
。
它在内部如何访问它?
如果我跳过createFromLocation: '1'
,它将创建一个新的数据库吗?
请问有人在这方面帮助我。
解决方法
非常简单
如果数据文件的名称与dbName相同
SQLite.openDatabase({name : "sqliteexample",createFromLocation : 1},okCallback,errorCallback);
如果数据文件的名称与dbName不同
SQLite.openDatabase({name : "sqliteexample",createFromLocation : "~sqliteexample1.db"},errorCallback);
如果您的文件夹不在应用程序捆绑包中,而是在应用程序沙箱中
SQLite.openDatabase({name : "sqliteexample",createFromLocation : "pathroot/data/mydbfile.sqlite"},errorCallback);
文件名和数据库名不必总是相同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。