html 5 本地数据库(Web Sql Database)详解
来源:互联网 发布:流体动力学模拟软件 编辑:程序博客网 时间:2024/05/21 17:12
html 5 本地数据库(Web Sql Database)详解
了解HTML 5的Web SQL Database API。
下面将介绍怎样创建打开数据库(Web Sql Database),创建表,添加数据,更新数据,删除数据,删除表 。
先介绍三个核心方法
1、openDatabase:这个方法使用现有数据库或创建新数据库创建数据库对象。
2、transaction:这个方法允许我们根据情况控制事务提交或回滚。
3、executeSql:这个方法用于执行真实的SQL查询。
openDatabase
我们可以使用这样简单的一条语句,创建或打开一个本地的数据库对象;
//<--获得数据库连接对象-->var mydb;//判断浏览器是否支持webSQL Database API if (!window.openDatabase){ mydb = null; alert('你的浏览器不兼容');}else { //新建数据库 mydb = window.openDatabase( 'addr_list', //数据库名, 'v1.0', //版本号, '通讯录', //数据库说明, 1000, //数据库大小(1000字节) function (){alert('数据库创建成功!')});//创建成功的回调函数}
openDatabase接收五个参数:
1. 数据库名字
2. 数据库版本号
3. 显示名字(数据库描述)
4. 数据库保存数据的大小(以字节为单位 )
5. 回调函数(非必须)
transaction
transaction方法用以处理事务,当一条语句执行失败的时候,整个事务回滚。
//<--执行sql语句创建表-->mydb.transaction(function(tx){ tx.executeSql( 'create table if not exists addr(name,phone,company,date)',//sql语句; [], //sql语句的参数 function(){alert('数据库表USER创建成功')}, //创建成功的回调函数, function(){alert('数据库表addr创建失败')}); //创建失败的回调函数});
transaction方法有三个参数:
1. 包含事务内容的一个方法
2. 执行成功回调函数(可选)
3. 执行失败回调函数(可选)
executeSql
executeSql方法用以执行SQL语句,返回结果。
//插入数据mydb.transaction(function(t){ t.executeSql("insert into addr(name,phone,company,date) values(?,?,?,?)",//sql语句 [name,phone,company,new Date().toLocaleTimeString()], //参数 function(){alert('插入数据成功!');}, //成功回调 function(){alert('插入数据失败!');}); //失败回调});//查询数据mydb.transaction(function(t){ t.executeSql('select * from addr', //语句 [], //没有参数时为空,但一定要写'[]' function(t,results){ //成功时回调 for (i=0;i<results.rows.length;i++){ //results.rows.length获得结果集的长度 alert(results.rows.item(i).name); //获得名字 } }, function(){alert('查询失败');}); //失败时回调 });//删除数据mydb.transaction(function(t){ t.executeSql('delete from addr where date=?', [date], function(){ //成功回调 alert('数据已删除') }, //失败时回调 function(){alert('数据删除失败')});});//更新数据mydb.transaction(function (t) { t.executeSql( "update addr set name = ? where date= ?", [name, date], function (t, results) { alert('更新成功'); }, function (t, error) { alert('更新失败: ' + error.message); });});//删除数据表mydb.transaction(function (t) { t.executeSql('drop table addr');});
executeSql方法有四个参数:
1. 查询字符串
2. 用以替换查询字符串中问号的参数
3. 执行成功回调函数(可选)
4. 执行失败回调函数(可选)
备注:
results(结果集):是返回的结果集,其数据类型为 SQLResultSet ;
rows(行): 有两个属性,length(总行数)、item (一个行);
ExecuteSQL不支持RIGHT OUTER JOIN,FULL OUTER JOIN,INTERSECT(在两个集合中都存在的数据) 和 EXCEPT(第一个集合中存在,但是不存在于第二个集合中的数据);
以下链接包含具体代码:
http://download.csdn.net/detail/rdj_miss/9506488
同时,也可以在浏览器中按F12打开开发者工具查看;
- html 5 本地数据库(Web Sql Database)详解
- html 5 本地数据库(Web Sql Database)
- html 5 本地数据库(Web Sql Database)核心方法openDatabase、transaction、executeSql 详解
- html 5 本地数据库(二)-- Web Sql Database核心方法openDatabase、transaction、executeSql 详解
- html5 本地数据库-Web SQL Database
- HTML5开发 Web SQL Database 本地数据库
- html5 本地数据库-Web SQL Database
- html5 本地数据库-Web SQL Database
- html5本地数据库 Web Sql Database
- html5 本地数据库-Web SQL Database操作类
- HTML5的Web SQL DataBase本地数据库增删改查
- HTML 5 Web SQL Database小结
- HTML 5 Web SQL Database初探
- HTML 5 Web SQL Database初探
- HTML5 本地存储1--Web Storage和本地数据库Web SQL Database
- HTML5 Web SQL Database 数据库
- 前端数据库Web SQL Database
- HTML5本地存储 -Web Sql Database 总结
- 数据库自动备份(Slq Server 代理作业)
- 如果启动weblogic项目很慢问题定位
- 设计模式:观察者模式
- matlab plot三维图形
- 订单流程独立一些特别处理
- html 5 本地数据库(Web Sql Database)详解
- Ganglia:分布式监控系统
- 水平分表 和 垂直分表
- 一道SQL表关联查询的面试题
- 浅谈 memset 函数的第二个参数为什么是 int 而不是 char
- SharedPreferences介绍
- JavaScript系列之DOM操作
- git 使用详解(10)-- 远程分支
- php7所具有的特色