websql主要是依托浏览器环境下一种离线存储方式,主要是用于关系性数据库,与sqllite相似

判断浏览器是否支持

if(window.openDatabase){ console.log(“浏览器支持DataBase”);
}

创建、打开数据库

1、openDatabase 参数说明

  1. 数据库名称
  2. 版本号
  3. 数据库别名或者是介绍
  4. 数据库大小
  5. 数据库创建成功回调函数(可为空)
  6. 数据库创建失败的回调函数(可为空)
var db = openDatabase("appdb", "1.0", "appdatabase", 1024 * 1024 * 100, function(result) {console.log("首页:创建数据库成功");db = result;
});
if(!db) {console.log("数据库创建失败!");return;
} else {console.log("数据库创建成功!");
} 

创建表

trancaction 为数据库的事务函数,所有操作都需要经过事务处理,如果中间出同SQL语句错误则事务进行回事,所括建表语句都会回滚(ORACLE 里面PLSQL建表是不会回滚的,最开始在这块整蒙了)

  1. 操作块
  2. 事务失败的回调函数
  3. 事务成功的回调函数
db.transaction(function(tx) {var sql = "CREATE TABLE IF NOT EXISTS ServerInfo (XF_XJ TEXT)";tx.executeSql(sql, []);}, function(error) {//执行失败的回调函数console.log("数据初始化失败,失败原因:" + error.message);}, function(result) {//执行成功的回调函数console.log("数据初始化成功");
});

在建表语句里IF NOT EXISTS表示判断表是否存在,如果存在则不建表(注意的是,如果不添加此语句,在新建时如果表已存在,他会重新建立,表内的数据则会清空)

CREATE TABLE IF NOT EXISTS ServerInfo (XF_XJ TEXT)

增加,删除,修改

在增加删除修改内也需要用到transaction方法

通过executeSql可进行增加,删除,修改等操作

  1. sql语句
  2. sql参数
  3. 成功回调函数
  4. 错误回调函数
db.transaction(function(tx) { var sql = "insert into CaoZuoYuan(user,name,password)values('0001','系统管理员','12345')";tx.executeSql(sql, []);
});

这里直接生成SQL语句,你也可以用参数的方法

db.transaction(function(tx) {    var sql = "insert into CaoZuoYuan(user)values(?)";tx.executeSql(sql, ['0001']);});

更新和删除与之相同

查询功能的实现

1、判断数据是否存在

db.transaction(function(tx) {tx.executeSql('select * from  CaoZuoYuan', [], function(tx, results) {var len = results.rows.length;if (len<1){var sql = "insert into  CaoZuoYuan(user,name,password)values('0001','系统管理员','12345')";tx.executeSql(sql, []);}});
});

2、查询数据并循环到列表

db.transaction(function(tx) {tx.executeSql('select * from  CaoZuoYuan where user="' + appview.user_id + '"', [], function(tx, results) {len = results.rows.length;if(len < 1) {alert("用户名或密码错误!");return;}for (i = 0; i < len; i++){alert(results.rows.item(i).name);}   }, null);
});

WebSql用法(自我记录)相关推荐

  1. 【C 语言】数组 ( 指针数组用法 | 自我结束能力 )

    文章目录 一.指针数组用法 ( 自我结束能力 ) 二.完整代码示例 一.指针数组用法 ( 自我结束能力 ) 在上一篇博客 [C 语言]数组 ( 指针数组用法 | 命令行参数处理 ) 中的主函数中的 c ...

  2. Git常规配置与用法(记录,git配置文件在系统用户文件夹下)

    Git环境配置 一. 全局配置 1. 配置文件 git全局配置文件.gitconfig默认在当前系统用户文件夹下,window可运行%USERPROFILE%查找,Mac系统在cd ~查找. 具体配置 ...

  3. 自学编程之路(自我记录)

    第一篇 初心   大家好,我是shaonian00. 这是我的第一篇博客,同时也是第一次写博客. 文章主要内容是记录自己的学习经历,并不断勉励自己,让自己不断学习. 大概在高二的时候我接触到安卓逆向, ...

  4. windows10 安装gpu版本TensorFlow脑壳疼自我记录

    写文章时间为:2018.10.26 显卡为NVIDIA GeForce RTX 2080Ti(刚出没有多久),系统为window10 放在开始想说的是,以下是我安装过程,仅是自我总结,仅供参考. 再之 ...

  5. Parcelable的用法及记录一个Parcelable遇到的坑

    大家都知道2个Act之前传递对象数据,一般就是用Serializable或者Parcelable了,好处我就不说了,肯定是Parcelable好用就对了 先看下数据对象 public class Pe ...

  6. left join fetch 用法实例记录

    left join fetch 应用:查找BusinessVersion表中的信息时同时抓取关联的BusinessOrganInfo信息,记录下来以备后用: BusinessVersion.java ...

  7. 距离,margin padding ,width height 用法 ,记录

    margin:0 auto 表示什么意思 margin后面如果只有两个参数的话,第一个表示top和bottom,第二个表示left和right 因为0 auto,表示上下边界为0,左右则根据宽度自适应 ...

  8. LATEX 用法个人记录

    一.插图 \begin{figure*}[htbp] \centering \subfigure[pic1.]{ \includegraphics[width=5.5cm]{IR.eps} %\cap ...

  9. 【原创整理】软件测试自我记录(目前携程+招银网络科技)

    1.如何分析一个水杯. 分别从:需求.功能度.界面.安全性.可靠性.兼容性.易用性.用户手册是否详细.疲劳测试.压力测试.震动测试来说. 2.为什么选择软件测试这一行业. 肯定不能说自己编程能力不行所 ...

  10. Android开发天气预报自我记录

    Android天气应用

最新文章

  1. Python 读取和输出到txt
  2. js中的事件循环和宏任务和微任务的理解
  3. 阿里云 MVP技术直播——缪政辉教你如何搭建万能LNMP环境
  4. Javascript 中的变量作用域问题
  5. SQL 游标使用实例
  6. 动态链接库、名字修饰约定、调用约定
  7. java informix_java informix
  8. win7如何设置wifi热点_博世壁挂炉“盖世7200i”WiFi功能如何设置
  9. 视差图(disparity map)
  10. 【图解相对论系列1】怎样直观地理解张量(Tensor)?爱因斯坦广义相对论的数学基础...
  11. talib.AROON指标详解
  12. 目标检测算法Faster R-CNN论文解读
  13. 记录关于利用txt文件划分训练集、测试集与验证集
  14. [CGAL] CGAL-5.2.1的安装与编译(Win10+vs2019+CGAL-5.2.1)
  15. 硅谷印度工程师越来越多,把种姓歧视也带来了
  16. Scratch不仅适合小朋友,程序员和大学老师都应该广泛使用!!!
  17. python3-基础篇-02-输入输出、注释
  18. 【音视频基础】(六):CIE颜色空间二之CIE-XYZ及Y的含义
  19. 一篇非常好的c++学习方法,转自贴吧
  20. JDBC基本原理及使用

热门文章

  1. 简易云在线人事管理系统
  2. Android网易歌词json接口,网易云音乐api分析
  3. 关于移远EC20 4G模块 拨打电话的状态通知
  4. eagle打开的brd和sch转换为AD打开的原理图和PCB
  5. python实现简单计算器
  6. 三菱plc编程软件gx+developer安装教程
  7. 数据挖掘——数据预处理
  8. 单链表---建立基本学生信息管理系统
  9. 3dmax:3dmax三维VR渲染设置之高级灯光渲染(光度学—自由灯光、目标灯光、天空门户)图文教程之详细攻略
  10. SQL Prompt 破解教程