2017-05-20 176 views
0

我正在創建一個使用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對象實例:每次我需要執行一個命令或者我應該這樣做一次並將db實例放入一個全局變量中?

回答

1

你可以做一個單身人士提供商,充當sqlite數據庫的接口。

@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,將其設置爲供應商和注入你需要的地方。

相關問題