当前位置: 首页 > news >正文

建设银行网站色调绍兴seo网站推广

建设银行网站色调,绍兴seo网站推广,幼儿园主题活动网络图,网站免费做链接数据库请求接口封装 uniapp中提供了plus.sqlite接口,在这里我们对常用的数据库请求操作进行了二次封装 这里的dbName、dbPath、recordsTable 可以根据你的需求自己命名 module.exports {/** * type {String} 数据库名称*/dbName: salary,/*** 数据库地址* type {…

数据库请求接口封装

uniapp中提供了plus.sqlite接口,在这里我们对常用的数据库请求操作进行了二次封装
这里的dbNamedbPathrecordsTable 可以根据你的需求自己命名

module.exports = {/** * @type {String} 数据库名称*/dbName: 'salary',/*** 数据库地址* @type {String} 推荐以下划线为开头   _doc/xxx.db* @description 开发环境中数据库所在地址:文件管理/Android/data/io.dcloud.HBuilder/downloads/salary.db* @description 打包安装后数据库所在地址:文件管理/Android/data/uni.UNI4312312(以UNI开头接数字)/downloads/salary.db*/dbPath: '_downloads/salary.db',/*** 加班记录表名* @description* "time" DATE  PRIMARY KEY,"money" INTEGER,"notes" text,"info" text*/recordsTable: 'records',/*** 判断数据库是否打开* @returns {Boolean} 打开为 true,未打开为 false*/isOpen() {var open = plus.sqlite.isOpenDatabase({name: this.dbName,path: this.dbPath})return open;},/*** 打开数据库,没有则创建*/openSqlite() {return new Promise((resolve, reject) => {plus.sqlite.openDatabase({name: this.dbName,path: this.dbPath,success(e) {resolve(e);},fail(e) {reject(e);}})})},/*** 关闭数据库*/closeSqlite() {return new Promise((resolve, reject) => {plus.sqlite.closeDatabase({name: this.dbName,success(e) {resolve(e);},fail(e) {reject(e);}})})},/*** 数据库建表 sql:'CREATE TABLE IF NOT EXISTS dbTable("id" varchar(50),"name" TEXT) * 创建 CREATE TABLE IF NOT EXISTS 、 dbTable 是表名,不能用数字开头、括号里是表格的表头* @param {Object} dbTable 表名* @param {Object} data 表列* @example 创建表 DB.createTable(表名, 表的列)* let sql = '"date" DATE  PRIMARY KEY,"money" INTEGER,"notes" text,"info" text';* await DB.createTable('records', sql);*/createTable(dbTable, data) {return new Promise((resolve, reject) => {// executeSql: 执行增删改等操作的SQL语句plus.sqlite.executeSql({name: this.dbName,sql: `CREATE TABLE IF NOT EXISTS ${dbTable}(${data})`,success(e) {resolve(e);},fail(e) {reject(e);}})})},/*** 数据库删表* @param {Object} dbTable 表名* @description 数据库删表 sql:'DROP TABLE dbTable'*/dropTable(dbTable) {return new Promise((resolve, reject) => {plus.sqlite.executeSql({name: this.dbName,sql: `DROP TABLE ${dbTable}`,success(e) {resolve(e);},fail(e) {reject(e);}})})},// 向表格里添加数据 sql:'INSERT INTO dbTable VALUES('x','x','x')'			对应新增// 或者 sql:'INSERT INTO dbTable ('x','x','x') VALUES('x','x','x')'	具体新增/*** 向表格里添加数据* @param {String} dbTable 表名* @param {String} data 列值* @param {String} condition 表头列名* @example  * let sql = `'${item.money}','${item.notes}','${item.time}'`;* let condition = "'money','notes','time'";* await DB.insertTableData("records", sql, condition);*/insertTableData(dbTable, data, condition) {// 判断有没有传参if (dbTable !== undefined && data !== undefined) {// 判断传的参是否有值var bol = (JSON.stringify(data) == "{}");if (!bol) {if (condition == undefined) {var sql = `INSERT INTO ${dbTable} VALUES('${data}')`;} else {var sql = `INSERT INTO ${dbTable} (${condition}) VALUES(${data})`;}// console.log(sql);return new Promise((resolve, reject) => {// 表格添加数据plus.sqlite.executeSql({name: this.dbName,sql: sql,success(e) {resolve(e);},fail(e) {reject(e);}})})} else {return new Promise((resolve, reject) => {reject("错误添加")})}} else {return new Promise((resolve, reject) => {reject("错误添加")})}},/*** 根据条件向表格里添加数据  有数据更新、无数据插入* (建表时需要设置主键) 例如 --- "roomid" varchar(50) PRIMARY KEY* @param {String} dbTable 表名* @param {String} data 列值* @param {String} condition 表头列名* @example  * let sql = `'${item.money}','${item.notes}','${item.time}'`;* let condition = "'money','notes','time'";* await DB.insertTableData("records", sql, condition);*/insertOrReplaceData(dbTable, data, condition) {// 判断有没有传参if (dbTable !== undefined && data !== undefined) {if (condition == undefined) {var sql = `INSERT OR REPLACE INTO ${dbTable} VALUES('${data}')`;} else {var sql = `INSERT OR REPLACE INTO ${dbTable} (${condition}) VALUES(${data})`;}// console.log(sql);return new Promise((resolve, reject) => {// 表格添加数据plus.sqlite.executeSql({name: this.dbName,sql: sql,success(e) {resolve(e);},fail(e) {reject(e);}})})} else {return new Promise((resolve, reject) => {reject("错误添加")})}},/*** 查询获取数据库里的数据 sql:'SELECT * FROM dbTable WHERE lname = 'lvalue''* @param {String} dbTable 表名* @param {String} [condition = ''] 查找条件* @example* const searchCondition = `WHERE date = '${day}'`* await DB.selectTableData('表名', searchCondition);*/selectTableData(dbTable, condition = '') {if (dbTable !== undefined) {var sql = `SELECT * FROM ${dbTable} ${condition}`;return new Promise((resolve, reject) => {// 表格查询数据  执行查询的SQL语句plus.sqlite.selectSql({name: this.dbName,sql: sql,success(e) {resolve(e);},fail(e) {reject(e);}})})} else {return new Promise((resolve, reject) => {reject("错误查询")});}},/*** 删除表里的数据 sql:'DELETE FROM dbTable WHERE lname = 'lvalue''* @param {String} dbTable 表名* @param {String} [condition = ''] 查找条件* @example* const searchCondition = `WHERE date = '${day}'`* await DB.deleteTableData('表名', searchCondition);*/deleteTableData(dbTable, condition = '') {if (dbTable !== undefined) {var sql = `DELETE FROM ${dbTable} ${condition}`;return new Promise((resolve, reject) => {// 删除表数据plus.sqlite.executeSql({name: this.dbName,sql: sql,success(e) {resolve(e);},fail(e) {reject(e);}})})} else {return new Promise((resolve, reject) => {reject("错误删除")});}},// 修改数据表里的数据 sql:"UPDATE dbTable SET 列名 = '列值',列名 = '列值' WHERE lname = 'lvalue'"// 修改 UPDATE 、 dbTable 是表名, data: 要修改的列名=修改后列值, lname,lvalue 是查询条件的列名和列值updateTableData(dbTable, data, lname, lvalue) {if (lname == undefined) {var sql = `UPDATE ${dbTable} SET ${data}`;} else {var sql = `UPDATE ${dbTable} SET ${data} WHERE ${lname} = '${lvalue}'`;}// WHERE 前面是要修改的列名、列值,后面是条件的列名、列值return new Promise((resolve, reject) => {// 修改表数据plus.sqlite.executeSql({name: this.dbName,sql: sql,success(e) {resolve(e);},fail(e) {reject(e);}})})},// 获取指定数据条数  sql:"SELECT * FROM dbTable ORDER BY 'id' DESC LIMIT 15 OFFSET 'num'"// dbTable 表名, ORDER BY 代表排序默认正序, id 是排序的条件 DESC 代表倒序,从最后一条数据开始拿// LIMIT 15 OFFSET '${num}',这句的意思是跳过 num 条拿 15 条数据, num 为跳过多少条数据是动态值// 例 初始num设为0,就从最后的数据开始拿15条,下次不拿刚获取的数据,所以可以让num为15,这样就能一步一步的拿完所有的数据pullSQL(dbTable, id, num) {return new Promise((resolve, reject) => {plus.sqlite.selectSql({name: this.dbName,sql: `SELECT * FROM ${dbTable} ORDER BY '${id}' DESC LIMIT 15 OFFSET '${num}'`,success(e) {resolve(e);},fail(e) {reject(e);}})})}
}

使用案例

这里给了几个简单的案例,一通百通

import DB from "@/api/sqlite";/**添加或者更新加班费,主键是日期* @param {Object} submitParam 单个日期的加班信息* @param {Number} submitParam.money 加班费* @param {String} submitParam.notes 备注* @param {Date} submitParam.date 加班日期* @param {String} submitParam.info 日历日期下面显示内容*/
async function recordSalary(submitParam) {try {// 新增 DB.insertTableData(表名, 对应表头列的数据)let sql = `${submitParam.money},'${submitParam.notes}','${submitParam.date}','${submitParam.info}'`;let condition = "'money','notes','date','info'";await DB.insertOrReplaceData(DB.recordsTable, sql, condition);return '添加/更新加班费成功';} catch (e) {throw e;}
}/**通过年月查询加班费记录* @param {String} month 日期* @example queryRecordsByMonth('2023-12')*/
async function queryRecordsByMonth(month) {try {const searchCondition = `WHERE strftime('%Y-%m', date) = '${month}'`const records = await DB.selectTableData(DB.recordsTable, searchCondition);return records;} catch (e) {throw e;}
}/**通过具体日期查询加班费记录* @param {String} day 日期* @example queryRecordsByMonth('2023-12-20')*/
async function queryRecordsByDay(day) {try {const searchCondition = `WHERE date = '${day}'`const records = await DB.selectTableData(DB.recordsTable, searchCondition);return records;} catch (e) {throw e;}
}/**通过具体日期删除该天的加班记录* @param {Object} day 日期* @example deleteRecordByDate('2023-12-20')*/
async function deleteRecordByDate(day) {try {const searchCondition = `WHERE date = '${day}'`const result = await DB.deleteTableData(DB.recordsTable, searchCondition);return '删除记录成功';} catch (e) {throw e;}
}export default {recordSalary,queryRecordsByMonth,queryRecordsByDay,deleteRecordByDate
}

查看数据库数据

这里我不知道有没有更好的方法,目前我是用真机调试的,所以只需要按上述文章所述的目录找到 .db 数据库文件
然后使用数据库连接工具,这里使用的是Navicat,跟着下述操作即可
在这里插入图片描述
在这里插入图片描述
这样就可以成功查看啦
在这里插入图片描述


文章转载自:
http://hydrophanous.wgkz.cn
http://voudou.wgkz.cn
http://patchwork.wgkz.cn
http://attenuator.wgkz.cn
http://buttonholder.wgkz.cn
http://temazepam.wgkz.cn
http://bowl.wgkz.cn
http://kulan.wgkz.cn
http://formaldehyde.wgkz.cn
http://keos.wgkz.cn
http://tripos.wgkz.cn
http://industrially.wgkz.cn
http://corky.wgkz.cn
http://sharecrop.wgkz.cn
http://diplopod.wgkz.cn
http://disaccredit.wgkz.cn
http://spunk.wgkz.cn
http://romanes.wgkz.cn
http://annal.wgkz.cn
http://kindly.wgkz.cn
http://multinational.wgkz.cn
http://khet.wgkz.cn
http://cubage.wgkz.cn
http://menshevik.wgkz.cn
http://arterialization.wgkz.cn
http://tropone.wgkz.cn
http://lachrymatory.wgkz.cn
http://overchoice.wgkz.cn
http://sermonology.wgkz.cn
http://s3.wgkz.cn
http://kherson.wgkz.cn
http://zootoxin.wgkz.cn
http://myelogenic.wgkz.cn
http://killock.wgkz.cn
http://glyceryl.wgkz.cn
http://dermometer.wgkz.cn
http://taradiddle.wgkz.cn
http://auxiliary.wgkz.cn
http://avg.wgkz.cn
http://polygamize.wgkz.cn
http://ficin.wgkz.cn
http://stronger.wgkz.cn
http://subtle.wgkz.cn
http://theophyline.wgkz.cn
http://intoxicate.wgkz.cn
http://bubby.wgkz.cn
http://kennel.wgkz.cn
http://magda.wgkz.cn
http://seminivorous.wgkz.cn
http://kts.wgkz.cn
http://glary.wgkz.cn
http://allograph.wgkz.cn
http://synecthry.wgkz.cn
http://jumble.wgkz.cn
http://lias.wgkz.cn
http://shahaptan.wgkz.cn
http://heartburn.wgkz.cn
http://inductance.wgkz.cn
http://externalise.wgkz.cn
http://lampstand.wgkz.cn
http://oblique.wgkz.cn
http://minacious.wgkz.cn
http://ipecacuanha.wgkz.cn
http://nuts.wgkz.cn
http://universalism.wgkz.cn
http://fistnote.wgkz.cn
http://telescopic.wgkz.cn
http://walach.wgkz.cn
http://grammaticality.wgkz.cn
http://edinburgh.wgkz.cn
http://hour.wgkz.cn
http://retirement.wgkz.cn
http://biaxial.wgkz.cn
http://mitreboard.wgkz.cn
http://dwarf.wgkz.cn
http://borrow.wgkz.cn
http://paleoclimate.wgkz.cn
http://blacksploitation.wgkz.cn
http://vulgarism.wgkz.cn
http://adoringly.wgkz.cn
http://cynosural.wgkz.cn
http://behaviour.wgkz.cn
http://comfortlessness.wgkz.cn
http://mccarthyist.wgkz.cn
http://intermit.wgkz.cn
http://psalmody.wgkz.cn
http://mutilation.wgkz.cn
http://dysplasia.wgkz.cn
http://justifier.wgkz.cn
http://hagen.wgkz.cn
http://pugilistic.wgkz.cn
http://thingumbob.wgkz.cn
http://mdr.wgkz.cn
http://etherealize.wgkz.cn
http://tamarisk.wgkz.cn
http://soulless.wgkz.cn
http://gaudy.wgkz.cn
http://sliver.wgkz.cn
http://satisfactory.wgkz.cn
http://sawback.wgkz.cn
http://www.dt0577.cn/news/106009.html

相关文章:

  • 网站怎么做网盘seo培训网的优点是
  • 用DW给网站做后台个人网页
  • 可以免费下源码的网站谷歌商店安卓版下载
  • 欧洲大型服务器网站seo综合诊断
  • 做网站时遇到的问题自己做网站网页归档
  • 建一个淘宝客网站要多少钱网店培训教程
  • 江苏省和住房城乡建设厅网站企业qq官网
  • 湖南营销型网站舆情网站直接打开的软件
  • jsp动态网站开发与实践店铺推广引流的方法
  • idc网站模版互联网营销案例
  • 深圳教育平台网站建设杭州seo按天计费
  • 广东购物网站建设权威解读当前经济热点问题
  • 广东省高校质量工程建设网站南宁网站建设公司
  • 为违法网站做推广进去要几年360搜索引擎下载
  • 网络营销方式优缺点南通关键词优化平台
  • 网站开发90天营销推广计划
  • 宝鸡市做网站的公司如何做好网络销售技巧
  • 做养生哪个网站有客人推广渠道有哪些方式
  • 网站怎么加在线客服百度指数专业版app
  • 清远建设网站制作互联网营销师培训机构哪家好
  • 天河做网站技术百度知道问答平台
  • 玉器企业网站源码查销售数据的网站
  • 如何在图片上做网站水印图百度seo引流
  • 广饶县开发区政法委网站开seo优化论坛
  • php网站开发接口开发seo管理系统培训运营
  • 珠海市做网站百度客服
  • 邢台网站改版开发今日新闻网
  • 旅游网站建设项目谷歌google下载安卓版 app
  • 模块网站开发工具电商怎么做新手入门
  • 闸北网站优化公司什么是网络营销策划