java三叉戟_HTML 5 Web SQL核心三叉戟
Web SQL数据库API实际上未包含在HTML 5规范之中,它是一个独立的规范,它引入了一套使用SQL操作客户端数据库的API。假设你是一名优秀的Web开发人员,那毫无疑问,你对SQL和数据库的相关概念已经很熟悉了,如果你对SQL不熟悉,那在继续阅读本文之前,最好先学习一下SQL相关的教程。
最新版本的Chrome,Safari和Opera浏览器都支持Web SQL数据库。
核心方法
本文将介绍规范中定义的三个核心方法:
1、openDatabase:这个方法使用现有数据库或创建新数据库创建数据库对象。
2、transaction:这个方法允许我们根据情况控制事务提交或回滚。
3、executeSql:这个方法用于执行真实的SQL查询。
打开数据库
openDatabase方法打开一个已经存在的数据库,如果数据库不存在,它还可以创建数据库,创建并打开数据库的语法如下:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
上面的openDatabase方法使用了下面五个参数:
1、数据库名(mydb)
2、版本号(1.0)
3、描述(Test DB)
4、数据库大小(2*1024*1024)
5、创建回调
最后一个,即第五个参数“创建回调”,在创建数据库时会调用它,但即使没有这个参数,一样可以在运行时创建数据库。
执行查询
执行查询使用database.transaction()函数,它只需要一个参数,下面是一个真实的查询语句:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
});
上面的查询将会在“mydb”数据库中创建一个LOGS表。
插入操作
为了向表中插入新记录,我们在上面的查询语句中添加了一个简单的SQL查询,修改后的语句如下:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');
});
在插入新记录时,我们还可以传递动态值,如:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
tx.executeSql('INSERT INTO LOGS
(id,log) VALUES (?, ?'), [e_id, e_log];
});
这里的e_id和e_log是外部变量,executeSql在数组参数中将每个项目映射到“?”。
读操作
如果要读取已经存在的记录,我们使用一个回调捕获结果,代码如下:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');
});
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
var len = results.rows.length, i;
msg = "
Found rows: " + len + "
";
document.querySelector('#status').innerHTML += msg;
for (i = 0; i
alert(results.rows.item(i).log );
}
}, null);
});
完整的例子
最后,我们在一个完整的HTML 5文档中展现前面讲述的内容,同时使用浏览器来解析这个HTML 5文档。
HTML>
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
var msg;
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');
msg = '
Log message created and row inserted.
';
document.querySelector('#status').innerHTML = msg;
});
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
var len = results.rows.length, i;
msg = "
Found rows: " + len + "
";
document.querySelector('#status').innerHTML += msg;
for (i = 0; i
msg = "
" + results.rows.item(i).log + "
";
document.querySelector('#status').innerHTML += msg;
}
}, null);
});
下面是在最新版本的Safari或Opera浏览器中产生的输出结果。
Log message created and row inserted.
Found rows: 2
foobar
logmsg
java三叉戟_HTML 5 Web SQL核心三叉戟相关推荐
- HTML5 学习笔记(三)——本地存储(LocalStorage、SessionStorage、Web SQL Database)
一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...
- HTML5开发 Web SQL Database 本地数据库
Web Database 介绍 Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome.Firefox.Oper ...
- 基于Java+MySQL实现(Web)医院门诊信息管理系统【100010554】
医院门诊信息管理系统 第 1 章绪论 1.1 项目背景 随着计算机应用的日益普及和深化,网上办公已经成为了一种趋势.医院信息化近年来也在各个医院迅速发展,医院信息系统公认为新兴的医学信息学的重要分支, ...
- java和python自学教程视频_免费视频教程,2019年最新Java、PYthon、web视频
干货视频,培训机构最新java.Python.web前端.人工智能视频(基础班+就业班).价值几万的Java.PYthon.web.人工智能视频教程, 为还在学习迷茫的你提供一个学习Java.Pyth ...
- HTML5 Web SQL数据库
HTML5 Web SQL 数据库 Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs. 如果你是一个 We ...
- HTML5本地存储——Web SQL Database
在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就 ...
- Java和PHP在Web开发方面的比较
Java和PHP在Web开发方面的比较,比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行的比较: 一. 语言比较 PHP是解释执 ...
- HTML5 Web SQL
Web Sql Database,中文翻译作"本地数据库",是随着HTML5规范加入的在浏览器端运行的轻量级数据库. 在HTML5中,大大丰富了客户端本地可以存储的内容,添加了很多 ...
- html 5 本地数据库(Web Sql Database)
基于HTML5的Web DataBase 可以让你在浏览器中进行数据持久地存储管理和有效查询,假设你的离线应用程序有需要规范化的存储功能 本文讲述如何使用核心方法openDatabase.transa ...
最新文章
- 如何用 Python 打飞机?
- Windows核心编程(3)字符编码详解
- 编译参数-ObjC的说明
- CentOS7安装RabbitMQ集群
- 力扣——按递增顺序显示卡牌
- C# 之浅拷贝与深拷贝问题拙见(一)
- LiveVideoStackCon 2022 上海站 专题抢先看(3)
- uniapp返回上一页_一例万级写入并发,百亿级数据,毫秒级返回架构分享
- 前端学习(670):分支流程控制if
- 2_数据分析—认识pandas
- [TWRP 2.8.4 ] 小米 3W 中文-英文版本 twrp
- 并查集详解(C/C++)
- 云计算环境下的服务器虚拟化技术,云计算技术与应用:虚拟化技术_服务器虚拟化.pdf...
- layui模板引擎文档 - layui.laytpl的具体使用
- illegal multibyte sequence
- JEECG3.8 全套实战视频全部开放,免费下载!
- 前端程序调试方法总结--高级版
- 中国大学MOOC 浙江大学《程序设计入门——C语言》第6周:数组与函数 测验与作业(高精度小数)
- Hyperf Casbin适配于Hyperf 的开源访问控制框架Casbin
- [自扫盲]skype、IP电话、VOIP、网络电话、互联网电话、IP拨号