当前位置:   article > 正文

WebSql用法(自我记录)_websql 函数里面能不能循环

websql 函数里面能不能循环

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

判断浏览器是否支持

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

创建、打开数据库

1、openDatabase 参数说明

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

创建表

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

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



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

增加,删除,修改

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

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

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

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

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

更新和删除与之相同

查询功能的实现

1、判断数据是否存在

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

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

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






声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/504286
推荐阅读
相关标签
  

闽ICP备14008679号