ionic3 中使用 sqlite本地資料庫實現儲存
1.安裝 Cordova 和 Ionic 的本地外掛,可參考ionic 的官網 https://ionicframework.com/docs/native/sqlite/
$ ionic cordova plugin add cordova-sqlite-storage
$ npm install --save @ionic-native/sqlite
2.把外掛新增到app.module.ts中
import { SQLite } from "@ionic-native/sqlite";
providers: [
SQLite
]
3.引用SQLite,初始化資料庫(我是把它封裝好在名為 AppSqliteProvider 的providers裡面,方便呼叫);
4.CURD操作
/**
* 查詢
*
* @param sqlStatements 查詢行的語句,如'select * from users;'
* @param val 是查詢語句中的'?'的value值,val一定要是陣列[];
*
*/
queryItem(sqlStatements,val) {
return new Promise ((resolve , reject) => {
this.database.executeSql(sqlStatements, val)
.then(
(res) => {
var arrList=[];
var len=res.rows.length;
this.toastCtrl.create({
'message':'查詢成功',
'duration':3000,
position:'middle'
}).present();
if(len>0){
for(var i=0;i<len;i++){
var item = res.rows.item(i);
arrList.push(item);
};
resolve(arrList);
}else{
var msg="無相應資料";
this.showAlert('提示',msg);
}
})
.catch(err =>{
this.showAlert('錯誤',err.message);
reject(err);
});
})
}
5.頁面呼叫