indexedDB 使用

sunqy 2019-12-27

数据库的打开/新增/删除

initDB() {
  let _this = this;
  let obj = {
    id: 1,
    name: _this.addForm.content
  }
  let indexedDB = window.indexedDB || window.webkitindexedDB || window.msIndexedDB || mozIndexedDB;
  request = indexedDB.open(‘edp‘); //edp数据库名称
  request.onsuccess = function(event) {
    console.log(‘打开成功‘);
    db = event.target.result;
    //清空表
    let tx = db.transaction(‘messageCode‘, ‘readwrite‘);
    let store = tx.objectStore(‘messageCode‘);
    store.clear();
    //添加表
    let objStore;
    let transaction = db.transaction([‘messageCode‘], ‘readwrite‘);
    objStore = transaction.objectStore(‘messageCode‘);
    objStore.add(obj);
  }
  request.onupgradeneeded = function(event) {
    db = event.target.result;
    let store;
    //创建表
    if(!db.objectStoreNames.contains(‘messageCode‘)) {
      store = db.createObjectStore(‘messageCode‘, {
        keyPath: ‘id‘,
        autoIncrement: true
      });
    }
    console.log(‘创建对象仓库成功‘);
  }
}

更改表

//内容更改
changeCode() {
    let obj = {
        id: 1,
        name: this.addForm.content
    }
    //更新表
    let tx = db.transaction(‘messageCode‘, ‘readwrite‘);
    let store = tx.objectStore(‘messageCode‘);
    let req = store.get(1);
    req.onsuccess = function(e) {
        store.put(obj);
        console.log(‘更新成功‘);
    };
},

新页面获取表

created() {
    let _this = this;
    var request = window.indexedDB.open(‘edp‘);
    var db;
    request.onerror = function() {
        console.log(‘数据库打开报错‘);
    }
    request.onsuccess = function(event) {
        console.log(‘数据库打开成功‘);
    db = event.target.result;
    var transaction = db.transaction([‘messageCode‘], ‘readwrite‘);
    var objStore = transaction.objectStore(‘messageCode‘);
    // 读取数据
    var req = objStore.get(1);
    req.onsuccess = function(e) {
        if(req.result) {
                console.log(‘已经查询到数据为:‘);
        console.log(req.result);
        _this.online = req.result.name;
        } else {
        console.log(‘未查询到数据‘);
        }
    }
    }
    request.onupgradeneeded = function(event) {
        console.log(‘数据库升级事件‘);
        db = event.target.result;
        console.log(db);
    }
}

相关推荐