多语言展示
当前在线:832今日阅读:167今日分享:16

websql存储如何使用

在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就无能为力了,灵活大不够强大。Web SQL Database我们经常在数据库中处理大量结构化数据,html5引入Web SQL Database概念,它使用 SQL 来操纵客户端数据库的 API,这些 API 是异步的,规范中使用的方言是SQLlite,悲剧正是产生于此,Web SQL Database规范页面有着这样的声明Web SQL Database 规范中定义的三个核心方法:openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象transaction:这个方法允许我们根据情况控制事务提交或回滚executeSql:这个方法用于执行SQL 查询
工具/原料
1

前端编辑器工具 或者记事本

2

能够熟练使用前端js,对js有一定的了解

方法/步骤
1

openDatabase我们可以使用这样简单的一条语句,创建或打开一个本地的数据库对象var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);openDatabase接收五个参数:数据库名字数据库版本号显示名字数据库保存数据的大小(以字节为单位 )回调函数(非必须)如果提供了回调函数,回调函数用以调用 changeVersion() 函数,不管给定什么样的版本号,回调函数将把数据库的版本号设置为空。如果没有提供回调函数,则以给定的版本号创建数据库。

2

transactiontransaction方法用以处理事务,当一条语句执行失败的时候,整个事务回滚。方法有三个参数1.包含事务内容的一个方法2.执行成功回调函数(可选)3.执行失败回调函数(可选)

3

transaction方法用以处理事务,当一条语句执行失败的时候,整个事务回滚。db.transaction(function (context) {           context.executeSql('CREATE TABLE IF NOT EXISTS testTable (id unique, name)');           context.executeSql('INSERT INTO testTable (id, name) VALUES (0, 'Byron')');           context.executeSql('INSERT INTO testTable (id, name) VALUES (1, 'Casper')');           context.executeSql('INSERT INTO testTable (id, name) VALUES (2, 'Frank')'); });

4

executeSqlexecuteSql方法用以执行SQL语句,返回结果,方法有四个参数1.查询字符串2.用以替换查询字符串中问号的参数3.执行成功回调函数(可选)4.执行失败回调函数(可选)

5

executeSql方法用以执行SQL语句,返回结果,方法有四个参数db.transaction(function (context) {           context.executeSql('SELECT * FROM testTable', [], function (context, results) {            var len = results.rows.length, i;            console.log('Got '+len+' rows.');               for (i = 0; i < len; i++){              console.log('id: '+results.rows.item(i).id);              console.log('name: '+results.rows.item(i).name);            }});

注意事项

由于Web SQL Database规范已经被废弃,原因说的很清楚,当前的SQL规范采用SQLite的SQL方言,而作为一个标准,这是不可接受的,每个浏览器都有自己的实现这还搞毛的标准。这样浏览器兼容性就不重要了,估计慢慢会被遗忘。不过Chrome的控制台真心好用啊,神马cookie、Local Storage、Session Storage、Web SQL、IndexedDB、Application Cache等html5新增内容看的一清二楚,免去了很多调试代码工作。

推荐信息