indexDB操作(部分方法不太会使用)
- <script type="text/javascript">
- //打开数据库
- function openDB(name,version){
- var version = version || 1;
- var request = window.indexedDB.open(name,version);
- request.onerror = function(e){
- console.log(e.currentTarget.error.message);
- };
- request.onsuccess = function(e){
- myDB.db = e.target.result;
- };
- request.onupgradeneeded = function(e){
- var db=e.target.result;
- if(!db.objectStoreNames.contains('students')){
- //db.createObjectStore('students',{keyPath:"id"});//以id为键存储数据 类似关联数组
- //db.createObjectStore('students',{autoIncrement: true});//以自增数值为键 类似索引数组
- //创建索引
- var store=db.createObjectStore('students',{keyPath: 'id'});
- store.createIndex('nameIndex','name',{unique:true});
- store.createIndex('ageIndex','age',{unique:false});
- }
- console.log('DB version changed to ' + version);
- };
- }
- //插入数据
- function addData(db,storeName){
- var transaction=db.transaction(storeName,'readwrite');
- var store=transaction.objectStore(storeName);
- for(var i=0;i<students.length;i++){
- store.add(students[i]);
- }
- }
- //查找数据
- function getDataByKey(db,storeName,value){
- var transaction=db.transaction(storeName,'readwrite');
- var store=transaction.objectStore(storeName);
- var request=store.get(value);
- request.onsuccess=function(e){
- var student=e.target.result;
- console.log(student.name);
- };
- }
- //利用索引查找数据
- function getDataByIndex(db,storeName){
- var transaction=db.transaction(storeName);
- var store=transaction.objectStore(storeName);
- var index = store.index("nameIndex");
- index.get('Byron').onsuccess=function(e){
- var student=e.target.result;
- console.log(student.id);
- }
- }
- //更新数据
- function updateDataByKey(db,storeName,value){
- var transaction=db.transaction(storeName,'readwrite');
- var store=transaction.objectStore(storeName);
- var request=store.get(value);
- request.onsuccess=function(e){
- var student=e.target.result;
- student.age=35;
- store.put(student);
- };
- }
- //删除数据
- function deleteDataByKey(db,storeName,value){
- var transaction=db.transaction(storeName,'readwrite');
- var store=transaction.objectStore(storeName);
- store.delete(value);
- }
- //清空object store数据(student)
- function clearObjectStore(db,storeName){
- var transaction=db.transaction(storeName,'readwrite');
- var store=transaction.objectStore(storeName);
- store.clear();
- }
- //关闭数据库
- function closeDB(db){
- db.close();
- }
- //删除数据库
- function deleteDB(name){
- indexedDB.deleteDatabase(name);
- }
- //配置数据库
- var myDB={
- name:'test2',
- version:3,
- db:null
- };
- var students=[
- {
- id:1001,
- name:"Byron",
- age:24
- },
- {
- id:1002,
- name:"Frank",
- age:30
- },
- {
- id:1003,
- name:"Aaron",
- age:26
- }
- ];
- openDB(myDB.name,myDB.version);//打开数据库
- setTimeout(function(){
- addData(myDB.db,'students');
- },1000);
- //closeDB(myDB.db);//关闭数据库 打开和关闭数据库不能同时存在???
- //deleteDB(myDB.name);//删除数据库
- </script>
indexDB操作(部分方法不太会使用)的更多相关文章
- C++ builder 操作Excel方法(据网上资料整理)
c++ builder 操作Excel方法,下面是从网上找到的一些不错的方法,学习一下: 用OLE操作Excel(目前最全的资料)(04.2.19更新) 本文档部分资料来自互联网,大部分是ccrun( ...
- Windows的拖放操作使用方法
Windows的拖放操作使用方法
- js操作textarea方法集合
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 浅谈配置chrome浏览器允许跨域操作的方法
浅谈配置chrome浏览器允许跨域操作的方法 一:(Lying人生感悟.可忽略) 最近有一天,对着镜子,发现满脸疲惫.脸色蜡黄.头发蓬松.眼神空洞,于是痛诉着说生活的不如意,工作没激情,工资不高,一个 ...
- poi-3.11-beta2-20140822.jar操作excel方法
poi-3.11-beta2-20140822.jar操作excel方法 根据不同类型读取值的方法: // 获取单元格内不同类型的值 public String getValueByType(HSSF ...
- SQL 2005 中查询或执行另外的数据库操作的方法
原文:SQL 2005 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据, ...
- php中cookie实现二级域名可访问操作的方法
本文实例讲述了php中cookie实现二级域名可访问操作的方法.分享给大家供大家参考.具体方法如下: cookie在一些应用中很常用,假设我有一个多级域名要求可以同时访问主域名绑定的cookie,下面 ...
- python字符串操作实方法大合集
python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.st ...
- java字符流操作flush()方法及其注意事项
java字符流操作flush()方法及其注意事项 flush()方法介绍 查阅文档可以发现,IO流中每一个类都实现了Closeable接口,它们进行资源操作之后都需要执行close()方法将流关闭 ...
随机推荐
- js-html音乐播放
<img src="images/music.png" id="music" class="rotate"> <audio ...
- 洛谷—— P1134 阶乘问题
https://www.luogu.org/problemnew/show/P1134 题目描述 也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如: 12! = 1 x 2 x 3 x 4 x ...
- ubuntu和raspberry下调试python_spi备忘
Ubuntu12.04 自安装python3.3中头文件Python.h路径:usr/local/python3.3/include/python3.3m Ubuntu12.04 自带的Python2 ...
- Maven添加坐标(依赖)及在Eclipse中的操作
例如:添加一个spring-test.jar的依赖过程,普遍的做法就是直接操作pom.xml文件. 1.打开maven的中央仓库:http://search.maven.org/ 2.搜索仓库: 进入 ...
- 高性能内存池NedAlloc
http://www.nedprod.com/programs/portable/nedmalloc/ http://blog.sina.com.cn/s/blog_6f5b220601012x4t. ...
- js中call、apply、bind那些事2
前言 回想起之前的一些面试,几乎每次都会问到一个js中关于call.apply.bind的问题,比如… 怎么利用call.apply来求一个数组中最大或者最小值 如何利用call.apply来做继承 ...
- TIdHTTPServer制作REST中间件
TIdHTTPServer制作REST中间件 使用DELPHI7+INDY9开发 // 陈新光 2017-2-21// LIS数据同步服务器// 浏览器输入:http://127.0.0.1:8000 ...
- 在Android Studio下使用Hierarchy Viewer
前言 最近看到这篇文章<Android UI性能优化详解>,里面使用了Hierarchy Viewer来对布局进行优化.开发android这么久了,一直都有听过这个工具,但是重来都没真正去 ...
- 百科知识 DCR文件如何打开
使用IE可以打开,但是需要先安装Adobe Shockwave Player 天空软件下载地址:http://fpdownload.macromedia.com/get/shockwave/defau ...
- jquery 的父子节点
1.一级父节点 parent() n级父节点 parents(???). 2.一级子节点 children() n级子节点 用find(???)