我应该在我的应用程序中的哪个位置创建 SQLite 数据库实例



我正在创建一个Ionic 2移动应用程序,它将使用SQLite数据库来存储数据。我知道我必须使用下面的代码来访问数据库:

this.sqlite.create({
    name: 'data.db',
    location: 'default'
})
.then((db: SQLiteObject) => {
    db.executeSql('create table danceMoves(name VARCHAR(32))', {})
        .then(() => console.log('Executed SQL'))
        .catch(e => console.log(e));
    })
.catch(e => console.log(e));

考虑到我的应用程序中将有几个页面访问数据库,我的问题是何时应该使用 create 方法来获取db对象实例:每次我需要执行命令时,还是应该执行一次并将数据库实例放在全局变量中?

您可以创建一个单例提供程序,该提供程序充当 sqlite db 的接口。

@Injectable()
export class StorageService {
 constructor(private sqlite: SQLite){
  this.sqlite.create({
    name: 'data.db',
    location: 'default'
})
.then((db: SQLiteObject) => {
    db.executeSql('create table danceMoves(name VARCHAR(32))', {})
        .then(() => console.log('Executed SQL'))
        .catch(e => console.log(e));
    })
.catch(e => console.log(e));
}

//other db access functions like insert, get, delete etc.
}

app.module.ts 中,将其设置为提供程序,并在需要的任何位置注入。

相关内容

  • 没有找到相关文章

最新更新