HTML-indexedDB数据库

indexedDB,顾名思义,就是带有索引的数据库,是在HTML5中新增的数据库,改数据库是一种存储在客户端本地的NoSQL数据库,目前Chrome11+版本,Firefox4+版本,IE10版本的浏览器对其提供支持。

连接数据库

//连接数据库

var dbName='indexedDBTest';
var dbVersion=20120603;
var dbConnect=indexedDB.open(dbName,dbVersion);

//关闭数据库连接

db.close();

数据库的版本更新

1 低版本的浏览器

var setVersion=idb.setVersion(dbVersion);
setVersion.onsuccess=function(e){
    var tx=e.target.transaction;
    //对数据库的操作
}

2 高版本的浏览器

var dbConnect=indexedDB.open(dbName,dbVersion);
dbConnect.onsuccess=function(e){//执行连接成功的语句};
dbConnect.onerror=function(){//执行连接失败的语句};
dbConnect.onupgradeneeded=function(e){
/*当连接数据库时发现指定的版本号大于数据库当前版本号时触发该事件
更新事务开启,同时数据库的版本号自动更新完毕*/}

创建对象仓库

idb=e.target.result;//连接数据库后获取的结果
var tx=e.target.transaction;
var name='Users1';
var store=idb.createObjectStore(name,optionalParameters);

创建索引

var name='userNameIndex';
var keyPath='username';
var idx=store.createIndex(name,keyPath,optionalParameters);

索引的multiEntry属性值

使用事务

事务的类型有:
- 只读事务
- 读写事务
- 更新事务
var tx=idb.transaction(storeNames,mode);

保存数据

var store=idb.objectStore('Users');
var value={
    userId:1,
    userName:'张三',
    address:'住址1'
};
var req=store.put(value);

获取数据

从对象仓库获取一条数据
var req=store.get(1)
get方法返回一个IDBRequest对象

根据主键值检索数据

使用bound方法

var ranage=IDBKeyRange.bound(1,4)
var direction=IDBCursor.NEXT;
var req=store.openCursor(range,direction);

未完待续……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值