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. 血液检测 & 创业骗局

    血液检测 & 创业骗局 硅谷血液检测公司 Theranos http://www.sohu.com/a/236659372_100053377 https://www.jianshu.com/ ...

  2. 【Linux笔记】ldconfig、ldd

    一.ldconfig ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig. ldconfig 命令的用途,主要是在默认搜寻目录(/ ...

  3. jQuery--Excel插件js-xlsx

    参考博客:http://www.jianshu.com/p/74d405940305 github地址:SheetJS / js-xlsx js引入 <script type="tex ...

  4. C#:文件/注册表/线程的操作

    文件的操作:(file与fileinfo,前者是静态方法,执行安全检查,适合对一个的操作) 1.1.create: using System; using System.Collections.Gen ...

  5. BZOJ 2337 XOR和路径 | 高斯消元 期望 位运算

    BZOJ 2337 XOR和路径 题解 这道题和游走那道题很像,但又不是完全相同. 因为异或,所以我们考虑拆位,分别考虑每一位: 设x[u]是从点u出发.到达点n时这一位异或和是1的概率. 对于所有这 ...

  6. Linux内核分析实验六

    Linux内核分析实验六 进程控制块PCB——task_struct(进程描述符) 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_s ...

  7. 网络对抗课题4.3.1 SQL注入原理与实践

    网络对抗课题4.3.1 SQL注入原理与实践 原理 SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞.也就是,在输入字符串中嵌入SQL指令,在设计程序中忽略对可能构成攻击的特殊字符 ...

  8. 20165218 《网络对抗技术》Exp0 Kali安装 Week1

    Kali Linux安装 下载 在Kali官网下载Kali Linux 64 Bit版本 打开VM,选择文件->新建虚拟机,一直点击下一步,注意这里选择稍后安装操作系统 版本中找不到Kali,可 ...

  9. Java之链表实现栈结构

    package com.wzlove.stack; import java.util.Iterator; import java.util.NoSuchElementException; /** * ...

  10. 解题:USACO13JAN Island Travels

    题面 好像没啥可说的,就当练码力了...... 先用BFS跑出岛屿,然后跑最短路求岛屿间的距离,最后状压DP得出答案 注意细节,码码码2333 #include<set> #include ...