chorme浏览器中indexedDB存储的简单操作
(2014-08-06 13:44:55)
标签:
chromeindexeddbwindows |
分类: chrome-indexedDB |
chorme浏览器中indexedDB存储的简单操作
最近需要用到chorme浏览器中indexedDB存储,简单研究了一下需要用到的一些方法,总结如下:
说明:
由于indexedDB存储为异步操作,故利用F12在chrome浏览器中操作时,需要分段操作,每一段内容均为单独的整体操作。
//// 1.定义相关变量////////////////
//设置 indexedDB 的兼容性
var indexedDB = windows.indexedDB || window.webkitIndexedDB ||
window.mozIndexedDB || window.msIndexedDB;
//定义相关变量
var db=null;
var objectStore = null;
var request;
////2.打开或者新建数据库并进行操作////////////////
//打开或者新建数据库
request = indexedDB.open('test',1);
//一系列异步操作
request.onsuccess = function (evt) {
db = request.result;
}
request.onerror = function (evt) { //打开db异常
console.log("IndexedDB error: " + evt.target.errorCode);
};
request.onupgradeneeded = function (evt) { //api desc
数据存储对象结构只能在该方法内修改 删除 以及索引的修改
objectStore =
evt.currentTarget.result.createObjectStore('store', {
keyPath : "rowindex",
autoIncrement : true
});
// 创建索引
objectStore.createIndex("rowindex","rowindex",{ unique: false
});
};
////3.添加数据信息////////////////
///////////单独操作时用,分部操作////////////////
//定义objectStore 对象
var objectStore = null
//定义 db连接
var db = null
//打开或者新建数据库
var request = indexedDB.open('test',1);
//获取数据库连接
request.onsuccess = function (evt) {
db = request.result;
}
////////////////////////////////////
//获取 transaction 事物,失败时回滚
var transaction = db.transaction('store',
'readwrite');
//从transaction中 获取 存储对象
objectStore = transaction.objectStore('store');
//添加数据 add (any value, optional any key);
objectStore.add({ rowindex: "test", rowindex: 1});
////4.删除数据信息////////////////
///////////单独操作时用,分部操作////////////////
//定义objectStore 对象
var objectStore = null
//定义 db连接
var db = null
//打开或者新建数据库
var request = indexedDB.open('test',1);
//获取数据库连接
request.onsuccess = function (evt) {
db = request.result;
}
////////////////////////////////////
//获取 transaction 事物,失败时回滚
var transaction = db.transaction('store',
'readwrite');
//从transaction中 获取 存储对象
objectStore = transaction.objectStore('store');
//删除数据 objectStore.delete(any key);
objectStore.delete(1);
////5.获取单条数据信息////////////////
///////////单独操作时用,分部操作////////////////
//定义objectStore 对象
var objectStore = null
//定义 db连接
var db = null
//打开或者新建数据库
var request = indexedDB.open('test',1);
//获取数据库连接
request.onsuccess = function (evt) {
db = request.result;
}
////////////////////////////////////
//获取 transaction 事物,失败时回滚
var transaction = db.transaction('store',
'readwrite');
//从transaction中 获取 存储对象
objectStore = transaction.objectStore('store');
//获取数据 objectStore.get(any key);
var request_get = objectStore.get(3);
//打印获取的结果信息
request_get.onsuccess =function(event){
console.log( request_get.result);
}
////6.获取数据总量////////////////
///////////单独操作时用,分部操作////////////////
//定义objectStore 对象
var objectStore = null
//定义 db连接
var db = null
//打开或者新建数据库
var request = indexedDB.open('test',1);
//获取数据库连接
request.onsuccess = function (evt) {
db = request.result;
}
////////////////////////////////////
//获取 transaction 事物,失败时回滚
var transaction = db.transaction('store',
'readwrite');
//从transaction中 获取 存储对象
objectStore = transaction.objectStore('store');
//获取数据总量 objectStore.count();
var request_count = objectStore.count();
//打印获取的结果信息
request_count.onsuccess =function(event){
console.log( request_count.result);
}
////7.获取表中所有数据信息////////////////
///////////单独操作时用,分部操作////////////////
//定义objectStore 对象
var objectStore = null
//定义 db连接
var db = null
//打开或者新建数据库
var request = indexedDB.open('test',1);
//获取数据库连接
request.onsuccess = function (evt) {
db = request.result;
}
////////////////////////////////////
//获取 transaction 事物,失败时回滚
var transaction = db.transaction('store',
'readwrite');
//从transaction中 获取 存储对象
objectStore = transaction.objectStore('store');
var result=[];
//利用游标获取相关数据信息
var request_cursor = objectStore.openCursor();
request_cursor.onsuccess = function(event) {
var cursor = event.target.result;
if( cursor ){
result.push(cursor.value);
// 滚动游标,查询下一条数据信息
cursor.continue();
}
//打印相关数据信息 result[0].data.id
console.log( result[0].rowindex );
------------------------------------------签名---------------------------------------
心简单,世界就简单,幸福才会生长;心自由,生活就自由,到哪都有快乐。
-------------------------------------------------------------------------------------