zoukankan      html  css  js  c++  java
  • IndexDB的基本操作

    1.前端存储的一个数据库。

    2.介绍一下基本操作。

      1 <!DOCTYPE html>
      2 <html>
      3 
      4 <head>
      5     <meta charset="UTF-8">
      6     <title></title>
      7 </head>
      8 
      9 <body>
     10     <input type="text" id="input" / placeholder="请输入内容">
     11     <button id="submit">写入</button>
     12     <div id="result"></div>
     13     <script src="./jquery-2.2.1.min.js"></script>
     14     <script>
     15         (function($) {
     16             jQuery.extend({
     17                 "addData": function(options) {
     18                     var opts = $.extend(true, defaults, options);
     19                     console.log(opts);
     20                     var openRequest = indexedDB.open(opts.dbName);
     21                     openRequest.onerror = function(e) {
     22                         console.log("Database error: " + e.target.errorCode);
     23                     };
     24                     openRequest.onsuccess = function(event) {
     25                         var db = openRequest.result;
     26                         //   新增数据
     27                         var transaction = db.transaction(opts.tableName, "readwrite");
     28                         var store = transaction.objectStore(opts.tableName);
     29                         if (db != null && db != null) {
     30                             var request = store.add(opts.data);
     31                             request.onsuccess = function(e) {
     32                                 result.innerHTML = "Employee record was added successfully.";
     33                             };
     34                             request.onerror = function(e) {
     35                                 console.log(e.target.error.message);
     36                                 result.innerHTML = "Employee record was not added.";
     37                             };
     38                         }
     39                     };
     40                     openRequest.onupgradeneeded = function(evt) {
     41                         var employeeStore = event.currentTarget.result.createObjectStore(opts.tableName, {
     42                             keyPath: opts.keypath
     43                         });
     44                     }
     45                 },
     46                 "deleteData": function(options) {
     47                 },
     48                 "deleteDB": function(options) {
     49                     var opts = $.extend(true, defaults, options);
     50                     var deleteDbRequest = indexedDB.deleteDatabase(opts.dbName);
     51                     deleteDbRequest.onsuccess = function(event) {
     52                         // database deleted successfully
     53                         console.log("Deleted   " + options);
     54                     };
     55                     deleteDbRequest.onerror = function(e) {
     56                         console.log("Database error: " + e.target.errorCode);
     57                     };
     58                 },
     59                 "resetData": function(options) {
     60                     var openRequest = indexedDB.open(options);
     61                     openRequest.onsuccess = function(event) {
     62                         app.db = openRequest.result;
     63                         var result = document.getElementById("result");
     64                         result.innerHTML = "";
     65                         if (app != null && app.db != null) {
     66                             console.log("123", app.db)
     67                             var store = app.db.transaction("employees", "readwrite").objectStore("employees");
     68                             store.get("E1").onsuccess = function(event) {
     69                                 var employee = event.target.result;
     70                                 if (employee == null) {
     71                                     result.value = "employee not found";
     72                                 } else {
     73                                     var jsonStr = JSON.stringify(employee);
     74                                     employee.city = "nanjing";
     75                                     console.log(employee);
     76                                     store.put(employee).onsuccess = function(event) {
     77                                         console.log("修改成功!");
     78                                         store.get("E1").onsuccess = function(event) {
     79                                             var employee = event.target.result;
     80                                             result.innerHTML = JSON.stringify(employee);
     81                                         }
     82                                     }
     83                                 }
     84                             };
     85                         }
     86                     };
     87                     openRequest.onerror = function(event) {
     88                         console.log(event)
     89                     }
     90                 },
     91                 "getData": function(options){
     92                     var openRequest = indexedDB.open(options.dbName);
     93                     openRequest.onsuccess = function(event) {
     94                         app.db = openRequest.result;
     95                         var result = document.getElementById("result");
     96                         result.innerHTML = "";
     97                         if (app != null && app.db != null) {
     98                             var store = app.db.transaction("employees").objectStore("employees");
     99                             store.get(options.index).onsuccess = function(event) {
    100                                 var employee = event.target.result;
    101                                 if (employee == null) {
    102                                     result.value = "employee not found";
    103                                 } else {
    104                                     var jsonStr = JSON.stringify(employee);
    105                                     result.innerHTML = jsonStr;
    106                                 }
    107                             };
    108                         }
    109                     };
    110                     openRequest.onerror = function(event) {
    111                         console.log(event)
    112                     }
    113                 },
    114             });
    115             //默认参数
    116             var defaults = {
    117                 dbName: "DataBase",
    118                 tableName: "table",
    119                 keypath: "id"
    120             }
    121             var app = {
    122                 "db": {}
    123             };
    124         })(window.jQuery);
    125         //   $.deleteDB("DataBase");
    126            $.addData({"data":{"id":"E2","name":"zhangsan","age":24}});
    127         //   $.deleteDB("AAA");
    128         //   $.getData({"dbName":"AAA","index":"E9"});
    129         //   $.resetData("AAA");
    130     </script>
    131 </body>
    132 
    133 </html>
  • 相关阅读:
    JSON操作技巧
    我的前端学习历程(转)
    sql指南网址
    using 和try/catch区别和注意点
    【转】StringBuffer的用法与string的区别
    【转】比较page、request、session、application的使用范围
    【转】StringBuilder用法
    【转】.Net高级技术——IDisposable
    【转】.NET快速查找某个类所在的命名空间
    【转】VS2010安装包制作
  • 原文地址:https://www.cnblogs.com/chengyunshen/p/7277329.html
Copyright © 2011-2022 走看看