html5内置了2种本地数据库,一是被称为“SQLLite”,可以通过SQL语言来访问文件型SQL数据库。二是被称为“indexedDB” 的NoSQL类型的数据库,本篇主要讲indexedDB数据库。

 该数据库是一种存储在客户端本地的NoSQL数据库,目前chrome11以上、Firefox4以上、Opera18以上、Safar8以上及IE10以上的浏览器提供支持

一、连接数据库

使用indexedDB.open方法连接数据库

var dbName = 'indexedDBTest';      //数据库名
var dbVersion = 20170603;            //版本号			
/*连接数据库,dbConnect对象为一个IDBOpenDBRequest对象,代表数据库连接的请求对象*/
var dbConnect = indexedDB.open(dbName, dbVersion);

 open方法返回一个IDBOpenDBRequest对象,代表数据库连接的请求对象;该方法接收2个参数

第一个参数:字符串,代表数据库名

第二个参数:无符号长整形数值,代表版本号

示例代码如下

 1 <script>
 2     //在浏览器中都能运行的统一定义
 3     //首先需要对indexedDB数据库,及该数据库所使用的事务、IDBKeyRange对象与游标对象进行预定义
 4     window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;
 5     window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
 6     window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
 7     window.IDBCursor = window.IDBCursor || window.webkitIDBCursor || window.msIDBCursor;
 8 
 9     function connectDatabase() {
10     //数据库名
11     var dbName = 'indexedDBTest'; 
12     //版本号
13     var dbVersion = 20170603; 
14     var idb;
15     /*连接数据库,dbConnect对象为一个IDBOpenDBRequest对象,代表数据库连接的请求对象*/
16     var dbConnect = indexedDB.open(dbName, dbVersion);
17     //连接成功时所执行的事件处理函数
18     dbConnect.onsuccess = function(e) { 
19         //e.target.result为一个IDBDatabase对象,代表连接成功的数据库对象
20         idb = e.target.result;
21         alert('数据库连接成功');
22     };
23     //连接失败是要处理得事件
24     dbConnect.onerror = function() {
25         alert('数据库连接失败');
26     };
27     }
28 </script>
29 
30 <input type="button" value="连接数据库" onclick="connectDatabase();" />
31     
View Code

相关文章: