经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » HTML5 » 查看文章
HTML5深入学习之 WebSQL 数据库
来源:cnblogs  作者:小方哥·  时间:2019/6/30 17:14:05  对本文有异议

概述

  WebSQL 并不是 HTML5规范的一部分,而是一个独立的规范,它可以用来做一些离线应用

核心API

  • openDatabase() => 用来打开或创建数据库(没有时则创建,有则打开)
  • transaction()  => 这个方法可以控制一个或多个事务,以及基于这种情况提交或者回滚
  • executeSql()       =>用于执行实际的 SQl 查询

判断浏览器是否支持该项功能

  这个功能可以在最新版的 chrome, Safari 和 Opera

  

  1. if (window.openDatabase) {
  2. // 操作 web SQL
  3. } else {
  4. alert('当前浏览器不支持 webSQL !!!');
  5. }

打开数据库

  1.        /**
  2. * 打开或创建数据库
  3. * @param1 数据库名称
  4. * @param2 版本号
  5. * @param3 描述
  6. * @param4 数据库大小
  7. * @param5 回调函数
  8. */
  9. var database = openDatabase('stu', '1.0', '学生表', 1024*1024, function () {});

开启一个事务

  1. // 开启事务
  2. database.transaction(function (sql) {
  3. // 在这里操作数据库的增删该查
  4. });

新建表格

  1. sql.executeSql(
  2. 'create table duxiu(id int, name text)',
  3. [],
  4. function () {
  5. alert('创建成功');
  6. },
  7. function () {
  8. alert('创建失败');
  9. }
  10. );

插入一条数据

  1. sql.executeSql(
  2. // ? => 占位符
  3. 'insert into duxiu (id, name) values (?, ?)',
  4. [2, '张三'],
  5. function () {
  6. alert('插入一条数据成功');
  7. },
  8. function () {
  9. alert('插入一条数据失败');
  10. }
  11. );

修改数据

  1. sql.executeSql(
  2. 'update duxiu set name = ?, id = ? where rowid = ?',
  3. ['王五', 3, 3],
  4. function () {
  5. alert('修改成功');
  6. },
  7. function () {
  8. alert('修改失败');
  9. }
  10. );

查找数据

  我这里是将数据查找出来并且显示到了表格中

  

  1. sql.executeSql(
  2. 'select * from duxiu',
  3. [],
  4. function (sql, res) {
  5. // console.log(res);
  6. var data = res.rows;
  7. console.log(data);
  8. // console.log(data.length);
  9. var table = document.createElement('table');
  10. document.querySelector('div').appendChild(table);
  11. for (var i = 0; i < data.length; i++) {
  12. var tr = document.createElement('tr');
  13. table.appendChild(tr);
  14. tr.innerHTML = '<td>' + data[i].id + '</td>';
  15. tr.innerHTML += '<td>' + data[i].name + '</td>';
  16. }
  17. alert('查找成功');
  18. },
  19. function () {
  20. alert('查找失败');
  21. }
  22. );

删除数据

  1. sql.executeSql(
  2. 'delete from duxiu where id = ?',
  3. [1], // 参数
  4. function () {
  5. alert('删除数据成功');
  6. },
  7. function () {
  8. alert('删除数据失败');
  9. }
  10. );

删除表格

  1. sql.executeSql(
  2. 'drop table duxiu',
  3. [],
  4. function () {
  5. alert('删除表成功');
  6. },
  7. function () {
  8. alert('删除表失败');
  9. }
  10. );

  那么,是不是每个人都想过有没有删除数据库的方法呢? 反正我是想了并且去查了,答案是  没有!!!!!!!!

  

原文链接:http://www.cnblogs.com/duxiu-fang/p/11110083.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号