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

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 tx = db.transaction('messageCode', 'readwrite');
      let store = tx.objectStore('messageCode');
      store.delete(1);
    //添加表
    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);
}
}

indexedDB 使用的更多相关文章

  1. IndexedDB(本地存储)

    var students = [{ id: 1001, name: "Byron", age: 24 }, { id: 1002, name: "Frank", ...

  2. HTML5存储之 indexedDB

    IndexeDB是HTML5 重要的一部分,它是一种轻量级的NOSQL数据库.对创建具有丰富本地存储数据的数据密集型的离线HTML5 Web 应用程序很有用. IndexedDB是为了能够在客户端存储 ...

  3. Notes:indexedDB使用

    indexedDB是浏览器端保存结构化数据的一种数据库,类似于mysql,oracle等数据库,但indexedDB使用对象存储数据,而不是用表. indexedDB是全局的宿主对象,使用window ...

  4. HTML5本地存储——IndexedDB(一:基本使用)

    在HTML5本地存储——Web SQL Database提到过Web SQL Database实际上已经被废弃,而HTML5的支持的本地存储实际上变成了 Web Storage(Local Stora ...

  5. IndexedDB参考资料网址

    IndexedDB:浏览器里内置的数据库, Web骇客 http://www.webhek.com/indexeddb/ 前端的数据库:IndexedDB入门(很全面) http://web.jobb ...

  6. HTML5本地存储——IndexedDB(二:索引)

    在HTML5本地存储——IndexedDB(一:基本使用)中介绍了关于IndexedDB的基本使用方法,很不过瘾,这篇我们来看看indexedDB的杀器——索引. 熟悉数据库的同学都知道索引的一个好处 ...

  7. js IndexedDB:浏览器端数据库的demo实例

    IndexedDB具有以下特点. (1)键值对储存. IndexedDB内部采用对象仓库(object store)存放数据.所有类型的数据都可以直接存入,包括JavaScript对象.在对象仓库中, ...

  8. Web数据持久化存储IndexedDB(不常用)

    IndexedDB是在浏览器中保存结构化数据的一种数据库,为了替换WebSQL(标准已废弃,但被广泛支持)而出现.IndexedDB使用NoSQL的形式来操作数据库,保存和读取是JavaScript对 ...

  9. [转]使用 HTML5 IndexedDB API

    本地数据持久性提高了 Web 应用程序可访问性和移动应用程序响应能力 索引数据库 (IndexedDB) API(作为 HTML5 的一部分)对创建具有丰富本地存储数据的数据密集型的离线 HTML5 ...

  10. HTML5 indexedDB数据库的入门学习(二)

    上一篇关于indexedDB的学习笔记主要写了indexedDB数据库的基本操作—增删改查:但是为什么我们要用indexedDB呢?为什么indexedDB受到了开发者们的青睐呢?最主要的就是inde ...

随机推荐

  1. nrm npm nvm

    1.nvm: node version manager node版本管理器 可以来回切换node.js版本号,而直接使用node的.msi安装则版本比较固定,无法实现node版本的自行切换nvm安装方 ...

  2. Java单体应用 - Markdown - 03.高级技巧

    原文地址:http://www.work100.net/training/monolithic-markdown-advance.html 更多教程:光束云 - 免费课程 高级技巧 序号 文内章节 视 ...

  3. javaweb-codereview 学习记录-2

    1.Java 文件名空字节截断漏洞(%00 Null Bytes) 受空字节截断影响的JDK版本范围:JDK<1.7.40 实际上修复就是检查文件名中是否包含\u0000,包含则为非法路径 fi ...

  4. Pandas中merge和join的区别

    可以说merge包含了join的操作,merge支持通过列或索引连表,而join只支持通过索引连表,只是简化了merge的索引连表的参数 示例 定义一个left的DataFrame left=pd.D ...

  5. [bzoj4942] [洛谷P3822] [NOI2017] 整数

    题目链接 https://www.luogu.org/problemnew/show/P3822 想法 这个啊,就是线段树哇 最初的想法是每位一个节点,然后进位.退位找这一位前面第一个0或第一个1,然 ...

  6. ASP.NET MVC4 使用UEditor富文本

    原帖:http://user.qzone.qq.com/369175376/infocenter?ptlang=2052     第一步:先到http://ueditor.baidu.com/webs ...

  7. 自用代码css获取任意网址的/favicon.ico的方法教程

    尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用这种办法获取 如果有好的方法望评论告知 谢谢 <img :ng-src="'http://'+list.url+'/fav ...

  8. Python - Unittest小结

    一.Unittest 单元测试框架,可用于自动化测试用力组织,执行,输出结果 二.Unittest构成 Test Case Test Suite Test Fixture Test Runner (图 ...

  9. [Java] The imoprt XXX cannot be resolved

    不知道为什么突然报错,但是可以成功编译. 通过import一个未使用的包来消除error,猜测是插件的问题,具体原因未知. import 未使用的包后,error消失.

  10. 使用NetBenchmark压测TCP,HTTP和Websocket服务

    NetBenchmark是针对网络服务压测订制的开源组件,组件提供TCP,HTTP和Websocket的压力测试基础功能:为了更好的符合业务需求组件不提供UI配置信息源的方式(毕竟这种方式只能作有限制 ...