zoukankan      html  css  js  c++  java
  • indexDB数据库

    ==indexDB数据库是使用对象保存数据,而不是用表来存放数据。一个IndexedDB数据库,就是众多对象的集合。

    ==数据库的使用:

      ==创建数据库:

        1、获取indexDB 数据库:

          var indexDB = window.indexedDB;

        2、创建indexDB 数据库下的空间对象(第一级):

          var openRequest = window.indexedDB.open("user", 1);

          user为在indexDB 数据库内的一个空间对象,如果没有这个空间对象,就会默认开辟一个新的空间对象并命名为user。

          1为版本号,通常版本号必须对应才能打开。

        3、创建indexDB 数据库下一级空间对象内的空间对象(第二级):

    openRequest.onupgradeneeded = function() {
      var db = this.result;
      if (!db.objectStoreNames.contains("users")) {   //p判断是否有同名空间对象
        db.createObjectStore("users", {                 //创建空间
          autoIncrement: true                            //让空间内储存的内容的索引自增
        });

      };
    };

    ==存储数据

    1、打开数据库并获取数据库对象
    var openRequest = window.indexedDB.open("user", 1);


    openRequest.onsuccess = function() {//数据库打开成功,获取db对象
    var db = this.result;


    2、开启事务
    var transaction = db.transaction(["users"], "readwrite");   //users代表对应的第二级存储空间,

                                     //readwrite,代表将要执行的操作的类型(读写

                                       //readonly===>只读

                                      //vesionchange====>版本变更

    3、获取空间对象
    var noteStore = transaction.objectStore("users");


    4、添加数据
    noteStore.add(note);//note====>要添加的数据


    5、关闭数据库
    db.close();
    }

    ==删除或修改数据

      var openRequest = window.indexedDB.open("user", 1);        //打开数据库并获取数据库对象

      openRequest.onsuccess = function() {                                    //开启对象空间

      var db = this.result;
      var transaction = db.transaction(["users"], "readwrite");           //开启事务
      var noteStore = transaction.objectStore("users");                    //获取空间对象
      noteStore.openCursor().onsuccess = function() {                    //使用存储空间对象发出打开游标的请求

        var cursor = this.result;                                                      //获取游标对象
        if (cursor) {                                                                         //如果游标不为空,说明还有数据
        if(cursor.value.name==""){                                                //条件
          noteStore.delete(cursor.key)                                     //删除某种条件的数据

          cursor.value.name = "username"                              //修改某种条件的数据

        };
        cursor.continue();                                                             //取出一条之后,将游标指向下一个数据。
      }
    }
    db.close();                                                                                       //关闭数据库

     

    你好!如果你有什么更好的建议或意见,请在评论区留言。感谢你的阅读!
  • 相关阅读:
    JavaScript 闭包+封装+异步同步区别
    CSS基础(三)盒子模型
    CSS基础(二)浮动
    CSS基础(一)
    HTML基础(二)
    JAVA 微信开发
    MAVEN学习总结1
    Java开发中的23种设计模式详解(转)
    navicat for mysql 10.1.7注册码
    jQuery.Validate验证库
  • 原文地址:https://www.cnblogs.com/YCxiaoyang/p/7425691.html
Copyright © 2011-2022 走看看