indexedDB(二)添加、修改、删除篇

前言

上篇讲了简单的创建了一个数据库和两个表,这里就详细记录下查询;

这里先定义二个数组对象

data(){
    return {
      arr:[
        {id:1,name:'杨姐',age:18,sex:0},
        {id:2,name:'骏驰',age:33,sex:0},
        {id:3,name:'king',age:45,sex:1},
        {id:4,name:'浩杰',age:16,sex:0},
        {id:5,name:'浩B',age:89,sex:1},
        {id:6,name:'浩A',age:56,sex:0},
      ],
      arr1:[
        {id:1,height:160,weight:50},
        {id:2,height:150,weight:45},
        {id:3,height:160,weight:70},
        {id:4,height:170,weight:70},
        {id:5,height:180,weight:75},
        {id:6,height:180,weight:60},
      ],

      db:null, // 全局的indexedDB数据库实例。
    }
  },

上面的db 在初始化数据库的时候 赋值了 this.db=e.target.result;
表一 yyyyy 键值id 索引就是里面的3个字段
表二 two 键值id 索引就是里面的3个字段

添加数据 add(obj)

注:add接受的是单个对象,

addData(){
      let {arr,db} = this;
		// 创建一个事务。找到所需操作的表.
		 var request = db.transaction(['yyyyy'], 'readwrite').objectStore('yyyyy').add(
			{id:7,name:'骏驰111',age:33,sex:0}
		);
		request.onsuccess = function (event) {
		        console.log('数据写入成功');
		 };
		
		request.onerror = function (event) {
		        console.log('数据写入失败');
		}
    },

批量添加数据

addData(){
      let {arr,db} = this;
      // 创建一个事务
      var request = db.transaction(['yyyyy'], 'readwrite').objectStore('yyyyy');
    
      // 批量添加
      for(let item of arr){
        request.add(item)
      }

    },

修改数据 put(obj)

这个方法很有意思,如果数据库中他的键值存在了,那就是修改,反之就是新增,也有添加的效果

// 更新数据
    updateData(){
      let {db} = this;
      // 创建一个事务
      var request = db.transaction(['yyyyy'], 'readwrite').objectStore('yyyyy');
      let mtObj=request.put({id:11,name:"啊大苏打撒旦",age:89,sex:1});
      mtObj.onsuccess = function (event) {
        console.log('数据更新成功');
      };

      mtObj.onerror = function (event) {
        console.log('数据更新失败');
      }
    },

删除数据 delete(key)

delData(){
      let {db} = this;
      // 创建一个事务
      var request = db.transaction(['yyyyy'], 'readwrite').objectStore('yyyyy');
      let mtObj=request.delete(1);
      mtObj.onsuccess = function (event) {
        console.log('数据删除成功');
      };

      mtObj.onerror = function (event) {
        console.log('数据删除失败');
      }
    },

下一篇讲下 indexedDB的查询

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值