Web SQL Database实例

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title></title>
  6 </head>
  7 <body onload="init()">
  8 <table>
  9     <tr>
 10         <td>姓名:</td><td><input type="text" id="name"></td>
 11     </tr>
 12     <tr>
 13         <td>留言:</td><td><input type="text" id="memo"></td>
 14     </tr>
 15     <tr>
 16         <td></td>
 17         <td><input type="button" value="保存" onclick="saveInfo()"></td>
 18     </tr>
 19 </table>
 20 <hr>
 21 <table id="datatable" border="1">
 22
 23 </table>
 24 <p id="msg"></p>
 25 <script>
 26     var datatable=null;
 27
 28     //创建数据库
 29     var db=openDatabase("MyData","","My Batabase",1024*100);
 30
 31
 32     //初始化数据
 33     function init() {
 34
 35         datatable=document.getElementById("datatable");
 36         showAllData();
 37     }
 38
 39     //先移除所有数据并添加新的数据
 40     function  removeALLData() {
 41
 42         for(var i=datatable.childNodes.length-1;i>=0;i--){
 43             datatable.removeChild(datatable.childNodes[i]);
 44         }
 45
 46         var tr=document.createElement("tr");
 47         var th1=document.createElement("th");
 48         var th2=document.createElement("th");
 49         var th3=document.createElement("th");
 50         th1.innerHTML="姓名";
 51         th2.innerHTML="留言";
 52         th3.innerHTML="时间";
 53         tr.appendChild(th1);
 54         tr.appendChild(th2);
 55         tr.appendChild(th3);
 56         datatable.appendChild(tr);
 57
 58     }
 59
 60
 61     //显示数据
 62     function  showData(row) {
 63
 64         var tr=document.createElement("tr");
 65         var td1=document.createElement("td");
 66         td1.innerHTML=row.name;
 67         var td2=document.createElement("td");
 68         td2.innerHTML=row.message;
 69         var td3=document.createElement("td");
 70         var t= new Date();
 71         t.setTime(row.time);
 72         td3.innerHTML=t.toLocaleDateString()+" "+t.toLocaleString();
 73         tr.appendChild(td1);
 74         tr.appendChild(td2);
 75         tr.appendChild(td3);
 76         datatable.appendChild(tr);
 77
 78
 79
 80     }
 81
 82     //从数据库查询并显示所有数据
 83     function showAllData() {
 84           db.transaction(function (tx) {
 85               tx.executeSql("CREATE TABLE IF NOT EXISTS MsgData(name TEXT,message TEXT,time INTEGER )",[]);
 86               tx.executeSql("SELECT * FROM MsgData",[],function (tx,rs) {
 87                   removeALLData();
 88                   for(var i=0;i<rs.rows.length;i++){
 89                       showData(rs.rows.item(i));
 90                   }
 91               });
 92           })
 93     }
 94
 95     //向数据库添加数据
 96     function addData(name,message,time) {
 97          db.transaction(function (tx) {
 98              tx.executeSql("INSERT  INTO MsgData VALUES (?,?,?)",[name,message,time],function (tx) {
 99                  alert("成功");
100              },function (tx,error){
101                  alert(error.source+":"+error.message);
102              });
103
104
105          })
106     }
107
108
109     //保存数据
110     function saveInfo() {
111
112         var name=document.getElementById("name").value;
113         var memo=document.getElementById("memo").value;
114         var time=new Date().getTime();
115         addData(name,memo,time);
116         showAllData();
117
118     }
119
120 </script>
121 </body>
122 </html>

为什么HTML5会放弃Web SQL Database?


Web SQL Database采用了sqlite做为后端,可以用js进等数据库操作,非常方便,可是刚刚发现,这个标准被放弃了:Web SQL Database
放弃的原因是:
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的),但我们需要多个独立的实现沿着规范化的路径进行。

我非常不能理解,sqlite有什么不好的,大家都认同,不就可以了么?为什么为这个放弃呢?
各大浏览器还会继续支持这个标准么?如果我现在在新项目中继续采用这个功能,会不会不久之后就会因为浏览器停止支持而失效?

 
时间: 2024-12-26 08:29:52

Web SQL Database实例的相关文章

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

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(20)--HTML5 Web SQL Database 一.Web Database介绍 WebSQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome.Firefox.Opera等主流浏览器都已经支持WebSQL Database WebSQL数据库有三个核心方法: 1)打开数据库openDatabase()方法: 此方法创建数

Web SQL Database 的基本用法

这两天了解了下 Web SQL Datebase,觉得有必要mark一下,虽然目前它已暂停研发,但相信在以后会有很棒的发展.在此仅mark下它的基本用法,以备后用! Web Sql Database,中文翻译作“本地数据库”,是随着HTML5规范加入的在浏览器端运行的轻量级数据库.例如购物网站的购物车,对于简单的键值对或简单对象进行存储,但是无法应对繁琐的关系数据进行处理. Web SQL Database 规范中定义的三个核心方法:   1.openDatabase:这个方法使用现有数据库或新

阿伦学习html5 之Web SQL Database

不知道什么情况, W3C不再维护web SQL Database规范,但是大多浏览器都支持了! Web SQL Database规范页面有着这样的声明 Web SQL Database 规范中定义的三个核心方法: openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象 transaction:这个方法允许我们根据情况控制事务提交或回滚 executeSql:这个方法用于执行SQL 查询 openDatabase: 我们可以使用这样简单的一条语句,创建或打开一个本地的数据库对

《Javascript权威指南》学习笔记之十八:BOM新成就(1)--客户端存储数据(Web SQL DataBase实现)

使用本地存储和会话存储可以实现简单的对象持久化,可以对简单的键值对或对象进行存储.但是,对于比较复杂的关系数据进行处理时,就要用Web SQL Database.浏览器对Web SQL Database的支持情况如图: 一.如何使用Web SQL Database <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-t

前端存储之Web Sql Database

前言 在上一篇前端存储之indexedDB中说到,我们项目组要搞一个前后端分离的项目,要求在前端实现存储,我们首先找到了indexedDB,而我们研究了一段时间的indexedDB后,发现它并不是很适合我们的项目,原因文章后面会讲到,所以我们就继续找,于是我们就找到了Web Sql Database,发现这个前端数据库是比较适合我们的项目的,于是果断转投Web Sql Database的怀抱,找存储工具跟穿鞋一个道理,不在乎多炫酷,合适才是王道,要是因为不合适导致磨脚是走不长远的,既然找到了合适

html5 初试 Web SQL Database

Web SQL Database API不包含在html5规范中,它是一个独立的规范,它引入了一套使用 SQL 操作客户端数据库的 API.所有现代浏览器都支持此API.它使用的SQL是SQLite . html5 中使用 Local and session storage 本地存储非常的方便,键值对方式虽说是使用方便,但对一些大量的数据结构处理就力有不及了,而Web SQL Database正适合这种类型的数据存储. Web SQL Database 是异步的. 连接/创建Database:

Web Sql database 本地数据库

/* ** 介绍Web Sql Database使用 */ //web sql database 数据库入口 function WebDatabase() {}; (function() { /** *@decription 如果数据库不存在,则创建 *@param {String} 数据库名称 *@param {String} 版本号 *@param {String} 数据库描述 *@param {Number} 数据库大小 *@param {Function} 回调函数 */ var cur

HTML5教程之html 5 本地数据库(Web Sql Database)

HTML5的Web SQL Databases(html5 本地数据库)的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的.今天,我们一起来了解HTML 5的Web SQL Database API:openDatabase.transaction.executeSql. Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome.Firefox.Opera等主流

web离线应用 Web SQL Database

web sql database 是html5废弃的一个新特性,它提供了基本的关系数据库功能,使用 `SQL` 来操纵客户端数据库的 API,这些 API 是异步的,规范中使用的方言是SQLlite 主要核心api有3个 openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象 Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned