web本地存储-WebSQL
Web SQL数据库API实际上未包含在HTML 5规范之中,它是一个独立的规范,它引入了一套使用SQL操作客户端数据库的API。W3C 官方在 2011 年 11 月声明已经不再维护 Web SQL Database 规范。但目前较新的chrome浏览器以及一些webkit核心浏览器支持WebSQL数据库,因此仍然必需要了解的,另外操作WebSQL还需要一定的sql基础。
规范中主要有三个核心方法:
1、openDatabase:请求打开一个现有数据库或创建新数据库对象。
2、transaction:事务方法,允许我们根据情况控制事务提交或回滚。
3、executeSql:执行真实的SQL查询。
示例代码:
//打开数据库
var db = window.openDatabase("store", "1.0", "store", 2*1024);
//开启事务请求
db.transaction(function (t){
//成功获取的事务对象作为参数回调。
t.executeSql('CREATE TABLE IF NOT EXISTS tb_keyValue (key unique, value)');//创建表若不存在
t.executeSql('INSERT INTO tb_keyValue (key, value) VALUES(?, ?)', ['name','test_ok']);//插入数据
}, function(e){
//失败
throw "SQLError:" + e.message;
});
//开启一个只读事务
db.readTransaction(function(t){
t.executeSql('SELECT value FROM tb_keyValue WHERE key = ?', ['name'], function(t, r){
//成功回调
if(r.rows.length > 0){
alert(r.rows.item(0));//'test_ok'
}
});
}, function(e){});
openDatabase(param1,param2,param3,param4,param5)参数说明:
当指定的数据库名(param1)存在时,只有版本号(param2)与客户端一致或版本号指定为空的字符串('')时,可正常打开数据库,返回database对象,否则都将抛出异常;
当指定的数据库名(param1)不存在时,将新创建一个符合参数的数据库,并返回database对象。
第一个参数:数据库名
第二个参数:当前数据库版本,若指定版本号与浏览器客户端不一致将报错,无法打开数据库,并抛出版本不匹配错误。可以指定为空('');建议指定为空字符串(''),其他若不匹配都将报错。仅当指定的版本与客户端一致或指定为''时,可以正常打开数据库;
第三个参数:数据库描述。但实际感觉没啥用处。像是被丢弃了。
第四个参数:数据库大小
第五个参数:一个回调函数,当要打开的数据库不存在时,会将db作为参数调用,同时openDatabase也会返回db; 特别注意:回调函数执行为异步操作,需当心;比如在回调函数F中初始化创建了一张表A,但由于是异步的,在拿着openDatabase返回的db做操作时,就可能查询不到表A,因为之前的回调函数F可能还没完成。
个人感觉不好使,建议弃用。
对象结构展示:
数据操作对象Database

事务对象Transaction

r SQLResultSet sql操作返回结果对象。一个是读取select数据时返回的对象,一个是写入insert数据时返回的对象

r (SQLResultSet) --> rows (SQLResultSetRowList)

参考资料:
http://www.w3.org/TR/webdatabase/ Web SQL Database API
http://kb.cnblogs.com/page/74857/
http://www.ibm.com/developerworks/cn/web/1108_zhaifeng_websqldb/
web本地存储-WebSQL的更多相关文章
- web本地存储
Web本地存储 通过本地存储(Local Storage),web 应用程序能够在用户浏览器中对数据进行本地的存储. 在 HTML5 之前,应用程序数据只能存储在 cookie 中,包括每个服务器请求 ...
- web 本地存储 (localStorage、sessionStorage)
web 本地存储 (localStorage.sessionStorage,cookie) localStorage(长期储存):即使关闭浏览器数据也不会删除,除非使用localStorage.cle ...
- [web 前端] web本地存储(localStorage、sessionStorage)
cp from : https://blog.csdn.net/mjzhang1993/article/details/70820868 web 本地存储 (localStorage.sessionS ...
- web本地存储(localStorage、sessionStorage)
web 本地存储 (localStorage.sessionStorage) 说明 对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:l ...
- Html5 web 本地存储 (localStorage、sessionStorage)
HTML5 提供了两种在客户端存储数据的新方法localStorage,sessionStorage sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在, ...
- Html5 web本地存储
Web Storage是HTML5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Sto ...
- web本地存储localStorage和sessionStorage
用谷歌浏览器调试网页程序时候发现有一个这个栏目 记录本地存储的相关信息(cookie,sessionStorage,LocalStorage等)的存储信息 1.LocalStorage localst ...
- web本地存储 sessionStorage 和 localStorage
1.sessionStorage 临时存储 为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载. 2.localStorage 长期存储 与sessionStorage一样,但在 ...
- web本地存储-IndexedDB
IndexedDB, HTML5中的一种数据存储方式,索引数据库. 一个网站可能有一个或多个 IndexedDB 数据库,每个数据库必须具有惟一的名称.一个数据库可包含多个对象存储,一个对象存储相当于 ...
随机推荐
- CKfinder中文乱码的解决.
最近在写一个类似博客的系统,使用了ckeditor和ckfinder,但是发现ckfinder在上传中文文件名的文件过程中会出现中文乱码的情况. 于是百度google乎,发现大多数的解决办法都是将文件 ...
- 回文数猜想(hd1282)
回文数猜想 Problem Description 一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数.任取一个正整数,如果不是回文数,将该数与他的倒序 ...
- 转:C4项目中验证用户登录一个特性就搞定
转:C4项目中验证用户登录一个特性就搞定 在开发过程中,需要用户登陆才能访问指定的页面这种功能,微软已经提供了这个特性. // 摘要: // 表示一个特性,该特性用于限制调用 ...
- Nginx 配置指令的执行顺序(十)
运行在 post-rewrite 阶段之后的是所谓的 preaccess 阶段.该阶段在 access 阶段之前执行,故名preaccess. 标准模块 ngx_limit_req 和 ngx_lim ...
- perl tk说明
介绍: perl/Tk(也被称为pTK) 是一个模块和代码的收集,尝试 简单的配置Tk 8 部件工具包到强大的词素文文字, 动态内存,I/O, 和面向对象,它是一种解释脚本语言 来制作部件和程序 使用 ...
- OSCHina技术导向:web内容管理系统Magnolia
Magnolia简介: Magnolia CMS是一家瑞士公司自2003年起发布的一个基于Java的开源内容管理系统.它适合且已被使用在以下领域:电子商务(例如:COOP.Migros.Rossman ...
- windows2003 64位注册码 序列号 激活码
Windows 2003 R2 64bit Enterprise VOL Edition 企业版 MR78C-GF2CY-KC864-DTG74-VMT73 VPT7T-77D38-KWVW2-2G3 ...
- iframe 标签自适应高度和宽度
iframe 结构如下 <iframe src="index.html" id="frame" frameborder="0" scr ...
- Js特效总结
1.//#hidediv2为一个需要隐藏的div 这个功能实现当点击hidediv2以外的其他任何位置时,隐藏该div $(document).click(function() { ...
- 使用sumlime text有感
学习JS和CSS.HTML用sublime text挺好的,这个工具不仅打开速度很快,而且也容易让页面运行(右键,在浏览器中打开),新建html页面的时候,先写个感叹号,然后按ctrl+e,会自动生成 ...