加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

chorme浏览器中indexedDB存储的简单操作

(2014-08-06 13:44:55)
标签:

chrome

indexeddb

windows

分类: 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 );





------------------------------------------签名---------------------------------------
心简单,世界就简单,幸福才会生长;心自由,生活就自由,到哪都有快乐。
-------------------------------------------------------------------------------------

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有