现在的位置: 首页 > 综合 > 正文

HTML5移动开发之路(17)——HTML5 Web SQL Database

2018年05月20日 ⁄ 综合 ⁄ 共 2325字 ⁄ 字号 评论关闭

一、Web Database介绍

WebSQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范。它通过一套API来操纵客户端的数据库。Safari、Chrome、Firefox、Opera等主流浏览器都已经支持WebSQL Database

WebSQL数据库有三个核心方法:

1)打开数据库openDatabase()方法:

此方法创建数据库对象,既可以使用已有的数据库,也可以创建新的数据库。

2)事务transaction()方法:

此方法可以用于控制事务处理,执行提交操作或回滚操作。

3)执行SQL命令executeSql()方法:

此方法用于执行SQL查询。

二、Web database操作使用

1)打开数据库openDatabase()方法:

此方法创建数据库对象,既可以使用已有的数据库,也可以创建新的数据库。

2)事务transaction()方法:

此方法可以用于控制事务处理,执行提交操作或回滚操作。

3)执行SQL命令executeSql()方法:

此方法用于执行SQL查询。

三、实例

  1. <!DOCTYPE HTML>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="urf-8"/>  
  5.     </head>  
  6.     <body>  
  7.         <script type="text/javascript">  
  8.             //创建数据库  
  9.             var db = window.openDatabase("dawanganban", "1.0","数据库描述",20000);  
  10.             //创建数据表  
  11.             db.transaction(function(tx) {  
  12.                 tx.executeSql("CREATE TABLE test (id int UNIQUE, mytitle TEXT, timestamp REAL)");  
  13.             });  
  14.             //插入数据  
  15.             db.transaction(function(tx) {  
  16.                 tx.executeSql("INSERT INTO test (id, mytitle, timestamp) values(?, ?, ?)", [1, "WEB Database", new Date().getTime()], null, null);  
  17.             });  
  18.   
  19.             //插入数据  
  20.             db.transaction(function(tx) {  
  21.                 tx.executeSql("INSERT INTO test (id, mytitle, timestamp) values(?, ?, ?)", [2, "DaWanGanBan", new Date().getTime()], null, null);  
  22.             });  
  23.   
  24.             //删除数据  
  25.             /*  
  26.             db.transaction(function(tx){  
  27.                 tx.executeSql("DELETE FROM test where mytitle=?",["WEB Database"],null,null);  
  28.             });  
  29.             */  
  30.               
  31.             //db.transaction(function(tx) {  
  32.             //  tx.executeSql("DROP TABLE qqs");  
  33.             //})  
  34.   
  35.             //db.transaction(function(tx) {  
  36.             //  tx.executeSql("update test set mytitle=? where mytitle = 'fsafdsaf'",['xp'],null,null);  
  37.             //});  
  38.   
  39.             //查询数据  
  40.             db.transaction(function(tx) {  
  41.                 tx.executeSql("SELECT * FROM test", [],    
  42.                 function(tx, result) {  
  43.                     for(var i = 0; i < result.rows.length; i++){   
  44.                         document.write('<b>' + result.rows.item(i)['mytitle'] + '</b><br />');   
  45.                     }   
  46.                 }, function(){  
  47.                     alert("error");  
  48.                 });   
  49.             });   
  50.         </script>  
  51.     </body>  
  52. </html>  

抱歉!评论已关闭.