HTML5之Sqlite
发布日期:2016-4-27 18:4:34
一、关于HTML5与web本地数据库 SQLite 能很好的支持关系型数据库所具备的一些基本特征,比如标准SQL语法、事物、数据表与索引等,而且占用资源较少,可在移动设备上轻松使用。 HTML5中添加了很多功能,将一些以前必须保存在服务器上的数据转向本地保存,提高了Web应用程序性能的同时还减轻了服务器的负担。但关于Web SQL Database有一个不太好的消息(来自网络): 我们常在数据库中处理大量结构化数据,html5引入Web SQL Database概念,它使用 SQL 来操纵客户端数据库的 API,这些 API 是异步的,规范中使用的是SQLlite,悲剧正是产生于此,Web SQL Database规范页面有着这样的声明,如图1所示: 图1 This document was on the W3C Recommendation track but specification work has stopped. The specification reached an impasse: all interested implementors have used the same SQL backend (Sqlite), but we need multiple independent implementations to proceed along a standardisation path. 上面的英文的大概意思就是: 这个文档曾经在W3C推荐规范上,但是规范工作已经停止了。目前已经陷入了一个僵局:目前的所有实现都是基于同一个SQL后端(SQLite),但我们需要更多的独立实现来完成标准化。 也就是说这是一个废弃的标准了,尽管部分浏览器已经实现 一上来就泼凉水确实不太好 ,但学习一下总归没有什么坏处的,对吧? 目前我已知的支持Web SQL Database的浏览器有chrome,火狐与IE并不支持。 W3C目前力推的H5本地数据库是IndexedDB 二、H5 Sqlite数据库三个核心API 1.opendatabase:使用现有数据库或创建新数据库创建数据库对象,如图2所示的代码: 图2 2.transaction:事务,可根据情况控制事务提交或回滚,如图3所示的代码: 图3 3.executeSql:用于执行SQL查询,如图4所示的代码: 图4 4.关于dataHandler和errorHandler,如图5所示的代码: 图5 三、一个例子 下面使用一个比较完整的例子来演示。代码如下所示
图6 下面是执行结果: 添加一条数据,如图7所示: 运行结果,如图8所示: 再添两条,如图9所示: 关闭浏览器后重新打开,如图10所示: 全部清空之后,如图11所示: 后面会更新一些mssql的文,关注mssql的敬请期待。
|