首页 > 代码库 > 阿伦学习html5 之Web SQL Database
阿伦学习html5 之Web SQL Database
不知道什么情况, W3C不再维护web SQL Database规范,但是大多浏览器都支持了!
Web SQL Database规范页面有着这样的声明
Web SQL Database 规范中定义的三个核心方法:
- openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象
- transaction:这个方法允许我们根据情况控制事务提交或回滚
- executeSql:这个方法用于执行SQL 查询
openDatabase:
我们可以使用这样简单的一条语句,创建或打开一个本地的数据库对象
var db = openDatabase(‘testDB‘, ‘1.0‘, ‘Test DB‘, 2 * 1024 * 1024);
openDatabase接收五个参数:
- 数据库名字
- 数据库版本号
- 显示名字
- 数据库保存数据的大小(以字节为单位 )
- 回调函数(非必须)
如果提供了回调函数,回调函数用以调用 changeVersion() 函数,不管给定什么样的版本号,回调函数将把数据库的版本号设置为空。如果没有提供回调函数,则以给定的版本号创建数据库。
transaction
transaction方法用以处理事务,当一条语句执行失败的时候,整个事务回滚。方法有三个参数
- 包含事务内容的一个方法
- 执行成功回调函数(可选)
- 执行失败回调函数(可选)
executeSql
executeSql方法用以执行SQL语句,返回结果,方法有四个参数
- 查询字符串
- 用以替换查询字符串中问号的参数
- 执行成功回调函数(可选)
- 执行失败回调函数(可选)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Web SQL Database</title> 5 </head> 6 <body> 7 <script type="text/javascript"> 8 var db = openDatabase(‘testDB‘, ‘1.0‘, ‘Test DB‘, 2 * 1024 * 1024); 9 var msg;10 db.transaction(function (context) {11 context.executeSql(‘CREATE TABLE IF NOT EXISTS testTable (id unique, name)‘);12 context.executeSql(‘INSERT INTO testTable (id, name) VALUES (0, "Byron")‘);13 context.executeSql(‘INSERT INTO testTable (id, name) VALUES (1, "Casper")‘);14 context.executeSql(‘INSERT INTO testTable (id, name) VALUES (2, "Frank")‘);15 });16 17 db.transaction(function (context) {18 context.executeSql(‘SELECT * FROM testTable‘, [], function (context, results) {19 var len = results.rows.length, i;20 console.log(‘Got ‘+len+‘ rows.‘);21 for (i = 0; i < len; i++){22 console.log(‘id: ‘+results.rows.item(i).id);23 console.log(‘name: ‘+results.rows.item(i).name);24 }25 });26 });27 </script>28 </body>29 </html>
阿伦学习html5 之Web SQL Database
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。