基于HTML5的Web DataBase 可以让你在浏览器中进行数据持久地存储管理和有效查询,假设你的离线应用程序有需要规范化的存储功能

本文讲述如何使用核心方法openDatabase、transaction、executeSql

1.新建一个网页,比如:test.html 内容如下:

[html] view plaincopy
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
  5. <title>web sql database</title>
  6. <script type='text/javascript' src='jquery-1.4.3.js'></script>
  7. <script type="text/javascript">
  8. $(function(){
  9. if (!window.openDatabase) {
  10. alert("不支持");
  11. }
  12. else {
  13. initDB();
  14. createTables();
  15. }
  16. function initDB(){
  17. var shortName = 'localDB';
  18. var version = '1.0';
  19. var displayName = 'localDB table';
  20. var maxSize = 655350; // in bytes
  21. //window.openDatabase("数据库名字", "版本","数据库描述",数据库大小);
  22. localDB = window.openDatabase(shortName, version, displayName, maxSize);
  23. }
  24. function createTables(){
  25. var query = 'CREATE TABLE IF NOT EXISTS user(id INTEGER NOT NULL, username TEXT NOT NULL);';
  26. try {
  27. localDB.transaction(function(transaction){
  28. transaction.executeSql(query, [], null, null);
  29. });
  30. }
  31. catch (e) {
  32. console.log("create table failed");
  33. alert("建表失败");
  34. return;
  35. }
  36. }
  37. });
  38. function btnClick(){
  39. var username = $("#username").val();
  40. try {
  41. localDB.transaction(function(transaction){
  42. transaction.executeSql("insert into user(id,username) values(?,?)", [1,username]);
  43. });
  44. }
  45. catch (e) {
  46. console.log("insert into failed");
  47. alert("插入失败");
  48. return;
  49. }
  50. console.log("insert into success");
  51. //alert("insert into success");
  52. }
  53. function btnSelect(){
  54. localDB.transaction(function(tx) {
  55. tx.executeSql("select * from user", [],
  56. function(tx, result) {
  57. $("#result").empty();
  58. for(var i = 0; i < result.rows.length; i++){
  59. $("#result").append('<b>' +result.rows.item(i)['id']+"------" +result.rows.item(i)['username']+ '</b><br />');
  60. }
  61. }, function(){
  62. alert("error");
  63. });
  64. });
  65. }
  66. </script>
  67. </head>
  68. <body>
  69. <div id="my" style="height:100px;width:200px;border:1px solid red;">
  70. <input type="text" name="username" id="username" value=""/>
  71. <br/>
  72. <button onclick="btnClick()">insert</button>
  73. </div>
  74. <div id="my1" style="height:300px;width:200px;border:1px solid red;">
  75. <button onclick="btnSelect()">select</button>
  76. <div id="result" style="height:300px;width:200px;border:1px solid blue;">
  77. </div>
  78. </div>
  79. </body>
  80. </html>

2.注意引入js文件哦

3.已经ok,直接打开网页浏览 ,用谷歌浏览器,然后 按 F12键 查看 Application --Web SQL 下面有新建的数据库以及表

html 5 本地数据库(Web Sql Database)相关推荐

  1. HTML5中的本地数据库-Web SQL Database

    html5增加新的特性,那就是增加了本地存储!改善用户体验,或许html5会带着我们走进新的互联网时代. 下面看看怎样操作web 数据库吧!!首先新建数据库!  var db = window.ope ...

  2. HTML5本地存储——Web SQL Database

    在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...

  3. HTML5 API详解(17):Web SQL DataBase本地数据库

    Web SQL Database是一个已经废弃的规范,但是鉴于除了IE和Firefox,其他浏览器都已经实现了Web SQL Database,并且它还具有一些HTML5 Storage所不具有的特性 ...

  4. HTML5开发 Web SQL Database 本地数据库

    Web Database 介绍 Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome.Firefox.Oper ...

  5. HTML5 学习笔记(三)——本地存储(LocalStorage、SessionStorage、Web SQL Database)

    一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...

  6. HTML5客户端数据存储机制Web Storage和Web SQL Database

    引言 html5本地存储可以选择两种方式,一种是本地存储,一种是sqlite. 比如开发html5的购物车功能,就可以考虑选择其中之一,进行本地存储与操作. 又或者保存用户登录信息,可以使用local ...

  7. Web SQL Database 之 SQLite语法

    Web SQL Database 之 SQLite语法 目录(?)[+] 转自:http://www.cnblogs.com/helloandroid/articles/2150272.html id ...

  8. html中使用sql数据库,Web Sql数据库的使用详解|HTML5

    HTML5中的Web Sql数据库在实际应用中并不是很多,本人只看到w3schools这种教学网才用到websql,目前也只有Webkit(Safari,SafariMobile和Chrome)和Op ...

  9. web sql database数据存储位置

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Q1: ...

最新文章

  1. hdu A + B Problem II(大数相加,数组实现)
  2. centos 6.5下KVM环境搭建
  3. python发邮件给女朋友代码_python发邮件的代码
  4. 数据库和Webapp安全
  5. 《Effective Java》 第二讲:对于所有对象都通用的方法
  6. igmp是哪个层协议_通俗易懂网络协议(IP)
  7. Springboot是什么?Springboot详解!入门介绍
  8. CREO - 基础3 - 用拉升的方法构建一个双轮胎模型
  9. 技术总监谈好的程序员如何写代码[转]
  10. MVC 如何设定默认默认路由为指定的Area下的某个action(笔记)
  11. Visio使用技巧总结
  12. 【数字设计】诺瓦科技_笔试面试题目分享
  13. linux打印机无法识别usb,ubuntu下无法识别打印机,求教!
  14. 华为服务器双系统教程,双系统安装教程
  15. 《数学之友》期刊简介及投稿要求
  16. 计数排序 | Counting Sort
  17. android patch app,AndroidN,O 加载到patch 以后重启app crash了.
  18. 第41期、基于JSP的实验室预约管理系统
  19. 开关电源雷击浪涌整改_一种防雷击浪涌的开关电源电路设计
  20. Javaweb——监听器

热门文章

  1. 数学--数论--因子和线性筛 (模板)
  2. 图论--最短路--Floyd(含路径输出)
  3. C/C++头文件一览表
  4. 数据结构-队列之顺序队列
  5. [kubernetes] Schedule --- Node调度与隔离
  6. ecos(redboot)移植剖析
  7. logistic 回归_具有Logistic回归的优秀初学者项目
  8. 如果白百何夫妻离婚了,房贷该谁来还?
  9. Ubuntu系统下bash和dash的区别(修改默认sh为bash)
  10. 未备案域名临时跳过备案提示_做好了网页,有域名和服务器,还要怎么搭建网站?...