webSQL 增删改查

 转载于:https://www.cnblogs.com/liuhao-web/p/7866032.html
/**
*数据库操作辅助类,定义对象、数据操作方法都在这里定义
*/
const conf = {
dbName: 'h5ds',
/*数据库名*/
version: '2.0',
/*数据库版本*/
dbDesc: 'h5ds 本地本地数据库',
/*数据库描述*/
dbSize: 100 * 1024 /*数据库大小 kb*/
} /**
* 打开数据库
* @returns dataBase:打开成功 or 打开失败
*/
export function openDB() {
/*数据库有就打开 没有就创建*/
let dataBase = window.openDatabase(conf.dbName, conf.version, conf.dbDesc, conf.dbSize, function() {});
if (dataBase) {
console.log("websql 数据库创建/打开成功!");
} else {
console.log("websql 数据库创建/打开失败!");
}
window.WEBSQL_DB = dataBase;
}; /**
* 新建数据库里面的表单
* @param tableName:表单名
*/
export function creatImgTable(tableName) {
var creatTableSQL = 'CREATE TABLE IF NOT EXISTS ' + tableName + ' (rowid INTEGER PRIMARY KEY AUTOINCREMENT, NAME text,AGE text,HEIGHT text,WEIGTH text)';
WEBSQL_DB.transaction(function(ctx, result) {
ctx.executeSql(creatTableSQL, [], function(ctx, result) {
alert("表创建成功 " + tableName);
}, function(tx, error) {
alert('创建表失败:' + tableName + error.message);
});
});
}
/**
* 往表单里面插入数据
* @param tableName:表单名
* @param NAME:姓名
* @param AGE:年龄
* @param HEIGHT:身高
* @param WEIGTH:体重
*/
export function insterData(tableName, NAME, AGE, HEIGHT, WEIGTH) {
var insterTableSQL = 'INSERT INTO ' + tableName + ' (NAME,AGE,HEIGHT,WEIGTH) VALUES (?,?,?,?)';
WEBSQL_DB.transaction(function(ctx) {
ctx.executeSql(insterTableSQL, [NAME, AGE, HEIGHT, WEIGTH], function(ctx, result) {
console.log("插入" + tableName + NAME + "成功");
},
function(tx, error) {
console.error('插入失败: ' + error.message);
});
});
}
/**
* 获取数据库一个表单里面的所有数据
* @param tableName:表单名
* 返回数据集合
*/
export function getAllData(tableName) {
var selectALLSQL = 'SELECT * FROM ' + tableName;
WEBSQL_DB.transaction(function(ctx) {
ctx.executeSql(selectALLSQL, [], function(ctx, result) {
console.log('查询成功: ' + tableName + result.rows.length);
var len = result.rows.length;
for (var i = 0; i < len; i++) {
console.log("NAME = " + result.rows.item(i).NAME);
console.log("AGE = " + result.rows.item(i).AGE);
console.log("HEIGHT = " + result.rows.item(i).HEIGHT);
console.log("WEIGTH = " + result.rows.item(i).WEIGTH);
console.log("-------- 我是分割线 -------");
}
},
function(tx, error) {
console.error('查询失败: ' + error.message);
});
});
}
/**
* 获取数据库一个表单里面的部分数据
* @param tableName:表单名
* @param name:姓名
*/
export function getOneData(tableName, name) {
var selectSQL = 'SELECT * FROM ' + tableName + ' WHERE NAME = ?'
WEBSQL_DB.transaction(function(ctx) {
ctx.executeSql(selectSQL, [name], function(ctx, result) {
console.log('查询成功: ' + tableName + result.rows.length);
var len = result.rows.length;
for (var i = 0; i < len; i++) {
console.log("NAME = " + result.rows.item(i).NAME);
console.log("AGE = " + result.rows.item(i).AGE);
console.log("HEIGHT = " + result.rows.item(i).HEIGHT);
console.log("WEIGTH = " + result.rows.item(i).WEIGTH);
}
},
function(tx, error) {
console.error('查询失败: ' + error.message);
});
});
}
/**
* 删除表单里的全部数据
* @param tableName:表单名
*/
export function deleteAllDataFromTable(tableName) {
var deleteTableSQL = 'DELETE FROM ' + tableName;
localStorage.removeItem(tableName);
WEBSQL_DB.transaction(function(ctx, result) {
ctx.executeSql(deleteTableSQL, [], function(ctx, result) {
console.log("删除表成功 " + tableName);
}, function(tx, error) {
console.error('删除表失败:' + tableName + error.message);
});
});
}
/**
* 根据name删除数据
* @param tableName:表单名
* @param name:数据的姓名
*/
export function deleteOneDataFromTable(tableName, name) {
var deleteDataSQL = 'DELETE FROM ' + tableName + ' WHERE NAME = ?';
localStorage.removeItem(tableName);
WEBSQL_DB.transaction(function(ctx, result) {
ctx.executeSql(deleteDataSQL, [name], function(ctx, result) {
console.log("删除成功 " + tableName + name);
}, function(tx, error) {
console.error('删除失败:' + tableName + name + error.message);
});
});
}
/**
* 根据name修改数据
* @param tableName:表单名
* @param name:姓名
* @param age:年龄
*/
export function updateOneData(tableName, name, age) {
var updateDataSQL = 'UPDATE ' + tableName + ' SET AGE = ? WHERE NAME = ?';
WEBSQL_DB.transaction(function(ctx, result) {
ctx.executeSql(updateDataSQL, [age, name], function(ctx, result) {
console.log("更新成功 " + tableName + name);
}, function(tx, error) {
console.error('更新失败:' + tableName + name + error.message);
});
});
}

webSQL 增删改查的更多相关文章

  1. HBuilder webApp开发 Websql增删改查操作

    来源:http://blog.csdn.net/zhuming3834/article/details/51471434 这段时间公司要求我们做原生iOS和安卓的都转做H5开发APP,使用的工具HBu ...

  2. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  3. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

    系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...

  5. 通过Java代码实现对数据库的数据进行操作:增删改查

    在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao  xingming    xue ...

  6. Hibernate全套增删改查+分页

    1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...

  7. 使用 Json.Net 对Json文本进行 增删改查

    JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...

  8. yii2 增删改查

    自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...

  9. Batis-iBatis基本操作(增删改查)

    Batis-iBatis基本操作(增删改查) 时间 2014-04-10 17:55:20  CSDN博客 原文  http://blog.csdn.net/mazhaojuan/article/de ...

随机推荐

  1. P2303 [SDOi2012]Longge的问题

    题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). 输入输出格式 输入格式: 一 ...

  2. http的无状态无连接

    搞爬虫的核心:http协议. 在理解http中的无状态和无连接时,有一些困惑,下文可以解决. 转自:http://www.cnblogs.com/bellkosmos/p/5237146.html h ...

  3. 【比赛】NOIP2017 总结

    一.比赛过程 Day1: 拿到题目后,立即把所有题目都看了一遍,发现没有很虚的期望DP和概率DP,感到很庆幸.然后发现今年的题目顺序好像有点不对,T1是数论,T2像是模拟,这难道是把两天的基础题放到一 ...

  4. Luogu 3810 & BZOJ 3262 陌上花开/三维偏序 | CDQ分治

    Luogu 3810 & BZOJ 3263 陌上花开/三维偏序 | CDQ分治 题面 \(n\)个元素,每个元素有三个值:\(a_i\), \(b_i\) 和 \(c_i\).定义一个元素的 ...

  5. 【转】64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解

    64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛.  安装步骤 1.准备工具安装目录 下载 ar ...

  6. 为smokeping添加日志开启debug

    用包管理工具安装smokeping没有自带日志输出,为了定位问题开启日志就成为第一需求. 1.修改smokeping的配置 # vim /etc/smokeping/config.d/General ...

  7. 单点登录(十二)-----遇到问题-----cas启用mongodb验证方式登录后没反应-pac4j-mongo包中的MongoAuthenticatInvocationTargetException

    cas启用mongodb验证方式登录后没反应 控制台输出 2017-02-09 20:27:15,766 INFO [org.jasig.cas.authentication.MongoAuthent ...

  8. 解题:USACO14MAR Sabotage

    题面 题外话:我的实数二分有什么问题=.= 仍然(我为什么要这么说)是二分答案,如何检查呢?将所有的数减去二分出来的$mid$后求和得到和$sum$,然后如果在减出来的数列中能找出一段大于$sum$的 ...

  9. bzoj 3816&&uoj #41. [清华集训2014]矩阵变换

    稳定婚姻问题: 有n个男生,n个女生,所有女生在每个男生眼里有个排名,反之一样. 将男生和女生两两配对,保证不会出现婚姻不稳定的问题. 即A-1,B-2 而A更喜欢2,2更喜欢A. 算法流程: 每次男 ...

  10. 【THUSC2017】座位

    题目背景 班级聚会的时候,班主任为了方便管理,规定吃饭的时候同一个寝室的同学必须坐在一起;但是吃完饭后,到了娱乐时间,喜欢不同游戏的同学会聚到一起;在这个过程中就涉及到了座位分配的问题. 题目描述 有 ...