HTML5深入学习之 WebSQL 数据库
概述
WebSQL 并不是 HTML5规范的一部分,而是一个独立的规范,它可以用来做一些离线应用
核心API
- openDatabase() => 用来打开或创建数据库(没有时则创建,有则打开)
- transaction() => 这个方法可以控制一个或多个事务,以及基于这种情况提交或者回滚
- executeSql() =>用于执行实际的 SQl 查询
判断浏览器是否支持该项功能
这个功能可以在最新版的 chrome, Safari 和 Opera
if (window.openDatabase) {
// 操作 web SQL
} else {
alert('当前浏览器不支持 webSQL !!!');
}
打开数据库
/**
* 打开或创建数据库
* @param1 数据库名称
* @param2 版本号
* @param3 描述
* @param4 数据库大小
* @param5 回调函数
*/
var database = openDatabase('stu', '1.0', '学生表', 1024*1024, function () {});
开启一个事务
// 开启事务
database.transaction(function (sql) {
// 在这里操作数据库的增删该查
});
新建表格
sql.executeSql(
'create table duxiu(id int, name text)',
[],
function () {
alert('创建成功');
},
function () {
alert('创建失败');
}
);
插入一条数据
sql.executeSql(
// ? => 占位符
'insert into duxiu (id, name) values (?, ?)',
[2, '张三'],
function () {
alert('插入一条数据成功');
},
function () {
alert('插入一条数据失败');
}
);
修改数据
sql.executeSql(
'update duxiu set name = ?, id = ? where rowid = ?',
['王五', 3, 3],
function () {
alert('修改成功');
},
function () {
alert('修改失败');
}
);
查找数据
我这里是将数据查找出来并且显示到了表格中
sql.executeSql(
'select * from duxiu',
[],
function (sql, res) {
// console.log(res);
var data = res.rows;
console.log(data);
// console.log(data.length);
var table = document.createElement('table');
document.querySelector('div').appendChild(table);
for (var i = 0; i < data.length; i++) {
var tr = document.createElement('tr');
table.appendChild(tr);
tr.innerHTML = '<td>' + data[i].id + '</td>';
tr.innerHTML += '<td>' + data[i].name + '</td>';
}
alert('查找成功');
},
function () {
alert('查找失败');
}
);
删除数据
sql.executeSql(
'delete from duxiu where id = ?',
[1], // 参数
function () {
alert('删除数据成功');
},
function () {
alert('删除数据失败');
}
);
删除表格
sql.executeSql(
'drop table duxiu',
[],
function () {
alert('删除表成功');
},
function () {
alert('删除表失败');
}
);
那么,是不是每个人都想过有没有删除数据库的方法呢? 反正我是想了并且去查了,答案是 没有!!!!!!!!
HTML5深入学习之 WebSQL 数据库的更多相关文章
- 数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇
HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心目中的产品方向,接着就朝这个方向慢慢打 ...
- (转)HTML5开发学习(3):本地存储之Web Sql Database
原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(3):本地存储之Web Sql Data ...
- HTML5 例子学习 HT 图形组件
HTML5 例子学习 HT 图形组件 HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心 ...
- H5操作WebSQL数据库
HTML代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...
- 数百个 HTML5 例子学习 HT 图形组件 – 3D建模篇
http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...
- 数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇
http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...
- 数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇
<数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇>一文让读者了解了 HT的 2D 拓扑图组件使用,本文将对 HT 的 3D 功能做个综合性的介绍,以便初学者可快速上手使用 HT ...
- HTML5 CSS3学习
HTML5 CSS3学习 :http://www.1000zhu.com/course/css3/ HTML5 相关书籍: http://www.html5cn.com.cn/news/gdt/2 ...
- (转)HTML5开发学习(2):本地存储之localStorage 、sessionStorage、globalStorage
原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(2):本地存储之localStorage ...
随机推荐
- Kibana 学习资料
Kibana 学习资料 网址 Kibana 官方文档 https://s0www0elastic0co.icopy.site/guide/en/kibana/current/introduction. ...
- 06-C#笔记-常量
1. 进制 前缀:0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制. 后缀:可以是 U 或 L 的组合,其中,U 和 L 分别表示 unsigned 和 long.后缀可以是大写或者 ...
- python递归和内置方法
递归:函数调用自身 核心:递进的时候能够达到一个结果,问题规模越来越小(不一定要真正的达到):设置一个条件,能够让最后一次函数调用结束 练习: 第一个人的姓名是16岁,后面每个人的年龄都比前一个大 ...
- 排序算法-插入排序(Java)
package com.rao.linkList; import java.util.Arrays; /** * @author Srao * @className InsertSort * @dat ...
- Pandas | 10 排序
Pandas有两种排序方式,它们分别是 - 按标签 按实际值 import pandas as pd import numpy as np df=pd.DataFrame(np.random.rand ...
- 元素的alt和title有什么异同?
①alt作为图片的替代文字出现,title作为图片的解释文字出现. ②alt属性应用较少,如img.area.input中,title应用较多,如a.form.input.还有div.p这些块级元素都 ...
- day 16
Weep no more, no sigh, nor groan. Sorrow calls no time that's gone. 别哭泣,别叹息,别呻吟:悲伤唤不回流逝的时光.
- 【Activiti学习之二】Activiti API(一)
环境 JDK 1.8 MySQL 5.6 Tomcat 7 Eclipse-Luna activiti 6.0 一.Activiti数据查询准备数据: package com.wjy.act; imp ...
- cad.net vs调试问题 20190923增加默认启动注册表,20191007更新vs2019到16.3.2
Acad2008和Acad2010需要修改安装目录下的acad.exe.config文件内容,才可以捕获断点: <configuration> <startup> <!- ...
- LPAT: Learning to Predict Adaptive Threshold for Weakly-supervised Temporal Action Localization [Paper Reading]
Motivation: 阈值分割的阈值并没有通过模型训练学出来,而是凭借主观经验设置,本文通过与背景得分比较提取对应的proposal,不用阈值的另一篇文章是Shou Zheng的AutoLoc,通过 ...