0

我正在尝试使用 react-native-sqlite-storage 连接一个 sqlite db,我按照 github 中的步骤操作,它在 android 上运行良好,但在 IOS 上运行良好,看起来即使我把它也找不到 db 文件在假定的文件夹“iOS/www”中,这是 open 语句:

import {openDatabase} from 'react-native-sqlite-storage';
.....
const database = openDatabase({
      name: 'hebron_db.db',
      createFromLocation: '~hebron_db.db',
      location: 'default'
}, () => {
   console.log('db connection success')
}, () => {
   console.log('db connection error')
});

即使我将文件名更改为不正确,它也总是输入“db connection success”。

我使用 react native 0.62.2 Xcode: 11.5 npm: 6.13.4 macOS: Catalina 10.15.5

如果文件不存在,它不应该去捕获部分吗?请问有什么帮助吗??

4

2 回答 2

0

这是最终起作用的连接字符串:

import {openDatabase} from 'react-native-sqlite-storage';
const database = openDatabase({name : "hebron_db", createFromLocation : 1}, null, null);
export default database;

可以帮助别人。

于 2020-06-28T10:41:33.563 回答
0

添加您的 App.js 文件。通过这样做,您将创建对 db 的全局引用

import {openDatabase} from 'react-native-sqlite-storage';


global.db = openDatabase(
  {
    name: 'xxx.db',
    createFromLocation: 1,
  },
  () => {},
  error => {
    console.log('ERROR: ' + error);
  },
);

于 2020-09-13T17:46:00.443 回答