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

灵台县住房和城乡建设局网站做网站为什么要买网站空间

灵台县住房和城乡建设局网站,做网站为什么要买网站空间,frontpage做视频网站,广东高端网站建设公司Sqlite SQLite 是一种轻量级的关系型数据库管理系统(RDBMS),广泛应用于各种应用程序中,特别是那些需要嵌入式数据库解决方案的场景。它不需要单独的服务器进程或系统配置,所有数据都存储在一个单一的普通磁盘文件中&am…
Sqlite

SQLite 是一种轻量级的关系型数据库管理系统(RDBMS),广泛应用于各种应用程序中,特别是那些需要嵌入式数据库解决方案的场景。它不需要单独的服务器进程或系统配置,所有数据都存储在一个单一的普通磁盘文件中,这使得它非常适合用于开发小型到中型的应用程序。

作用

一般用于app离线缓存

集成方法

第一步勾选中SQLite 模块
在这里插入图片描述

第二步
我将代码都放到了一个文件夹里
在这里插入图片描述

index.js 该文件参考网上来源

let dbName = 'transfer'
/** 打开数据库或者创建数据库*/
export const openDb = () => {return new Promise((resolve, reject) => {if (isOpen()) {resolve()return}plus.sqlite.openDatabase({name: dbName,path: `_doc/storage/${dbName}.db`,success: (db) => {console.log('打开数据库成功', db)resolve(db)},fail: (e) => {console.log('打开数据库失败', e)reject(e)},})})
}
/** 创建表,执行sql语句* @param {String} tableName 表名* @param {String} data 表结构*/
export const createTable = (tableName, data) => {return new Promise(async (resolve, reject) => {if (!tableName || !data) {return}let flag = await isTable(tableName)if (flag) {resolve(true)return}plus.sqlite.executeSql({name: dbName,sql: `CREATE TABLE IF NOT EXISTS ${tableName} ${data}`,success: (e) => {console.log('创建表成功', e)resolve(e)},fail: (e) => {console.log('创建表失败', e)reject()},})})
}
/** 判断表是否存在* @param {String} tableName 表名*/
export const isTable = (tableName) => {return new Promise((resolve, reject) => {if (!tableName) {return}plus.sqlite.selectSql({name: dbName,sql: `SELECT name FROM sqlite_master WHERE type='table' AND name='${tableName}'`,success: (e) => {console.log('查询表成功', e)resolve(e.length ? true : false)},fail: (e) => {console.log('查询表失败', e)reject(e)},})})
}
/** 删除表* @param {String} tableName 表名*/
export const deleteTable = (tableName) => {return new Promise((resolve, reject) => {if (!tableName) {return}plus.sqlite.executeSql({name: dbName,sql: `DROP TABLE IF EXISTS ${tableName}`,success: (e) => {console.log('删除表成功', e)resolve(e)},fail: (e) => {console.log('删除表失败', e)reject(e)},})})
}
/** 删除所有表数据*/
export const deleteTableData = (tableName, whereSql) => {if (!tableName) {return}let sql = `DELETE FROM ${tableName}`if (whereSql) {sql = `DELETE FROM ${tableName} WHERE ${whereSql}`}return new Promise((resolve, reject) => {plus.sqlite.executeSql({name: dbName,sql,success: (e) => {console.log('删除表数据成功', e)resolve(e)},fail: (e) => {console.log('删除表数据失败', e)reject(e)},})})
}/** 查询所有表*/export const getTable = () => {return new Promise((resolve, reject) => {plus.sqlite.selectSql({name: dbName,sql: `SELECT name FROM sqlite_master WHERE type='table'`,success: (e) => {console.log('查询表成功', e)resolve(e)},fail: (e) => {console.log('查询表失败', e)reject(e)},})})
}
/** 插入数据* @param {String} tableName 表名* @param {Object} data 数据*/
export const insertData = (sql) => {return new Promise((resolve, reject) => {plus.sqlite.executeSql({name: dbName,sql: sql,success: (e) => {console.log('插入数据成功', e)resolve(e)},fail: (e) => {console.log('插入数据失败', e)reject(e)},})})
}/** 查询数据* @param {String} tableName 表名*/
export const selectData = (tableName) => {return new Promise((resolve, reject) => {if (!tableName) {return}plus.sqlite.selectSql({name: dbName,sql: `SELECT * FROM ${tableName}`,success: (e) => {console.log('查询数据成功', e)resolve(e)},fail: (e) => {console.log('查询数据失败', e)reject(e)},})})
}
/** 判断数据库是否打开*/
export const isOpen = () => {let open = plus.sqlite.isOpenDatabase({name: dbName,path: `_doc/storage/${dbName}.db`,})console.log('数据库是否打开', open)return open
}
/** 关闭数据库*/
export const closeDb = () => {return new Promise((resolve, reject) => {plus.sqlite.closeDatabase({name: dbName,path: `_doc/storage/${dbName}.db`,success: (e) => {console.log('关闭数据库成功', e)resolve(e)},fail: (e) => {console.log('关闭数据库失败', e)reject(e)},})})
}export const sqlite = {openDb,createTable,isTable,isOpen,closeDb,insertData,selectData,getTable,deleteTable,deleteTableData,
}

work.js

import {sqlite
} from './index.js'export default class WorkSqlite {constructor(tableName) {this.tableName = tableName}/** 初始化数据库* @param {String} tableName 表名* @param {String} sql 表结构*/initSqlite(sql = '("id" TEXT,"content" TEXT)') {return new Promise((resolve, reject) => {sqlite.openDb().then(async () => {let table = await sqlite.createTable(this.tableName, sql).catch(() => {reject(false)})if (table) {resolve(true)} else {reject(false)}})})}/** 插入单条数据* @param {String} tableName 表名* @param {Object} data 数据*/insertData(data) {let keys = Object.keys(data)let values = Object.values(data)let sql =`INSERT INTO ${this.tableName} (${keys.join(',')}) VALUES (${values.map((item) => `'${item}'`).join(',')})`return sqlite.insertData(sql)}/** 查询数据* @param {String} tableName 表名*/selectData() {return sqlite.selectData(this.tableName)}/** 删除表数据*/deleteTableData(where = null) {return sqlite.deleteTableData(this.tableName, where)}/** 删除表*/deleteTable(tableName) {return sqlite.deleteTable(tableName)}closeDb() {return sqlite.closeDb()}/** 查询所有表*/getTable() {return sqlite.getTable()}/** 批量插入数据* @param {String} tableName 表名* @param {Object} data 数据*/insertBatchData(data) {if (!Array.isArray(data) || !data?.length) {console.log('插入数据必须是数组')return}let sql = []data.forEach((item) => {let keys = Object.keys(item)let values = Object.values(item)sql.push(`INSERT INTO ${this.tableName} (${keys.join(',')}) VALUES (${values.map((item) => `'${item}'`).join(',')})`)})return sqlite.insertData(sql)}/** 判断数据库是否连接* @param {String} tableName 表名*/async isConnect() {let open = sqlite.isOpen()if (!open) {return false}let table = await sqlite.isTable(this.tableName)if (!table) {return false}return true}}

使用示例:

import WorkSqlite from '@/sqlite/work.js';
export default {data(){return {workPending: null,workRuning: null}},onLoad(e) {// 初始化待处理任务数据库链接,传入的是表名,需要几个表就new 几个。this.workPending = new WorkSqlite('workPending');this.workRuning = new WorkSqlite('workRuning');},
}

修改表设计需要自己传入sql语法,initSqlite时传入sql语句即可自定义表设计。

在这里插入图片描述

默认支持数据批量插入,表字段只有 id 和 content

在这里插入图片描述

最后如果sqlite 没生效,可能需要打自定义基座。sqlite 只适合app,H5不支持!


文章转载自:

http://oeVwjtuc.rccpL.cn
http://KYKdu47Y.rccpL.cn
http://Z2hhAuuQ.rccpL.cn
http://vrrN7Dvu.rccpL.cn
http://Px53fxOZ.rccpL.cn
http://wqDUxxSW.rccpL.cn
http://ezvOyif7.rccpL.cn
http://jOjU2GQc.rccpL.cn
http://opVLLJkN.rccpL.cn
http://Eae304jX.rccpL.cn
http://8WYRkhYa.rccpL.cn
http://JmoWqZYu.rccpL.cn
http://5jh10Ijh.rccpL.cn
http://EdFIJykj.rccpL.cn
http://2x0pMWZB.rccpL.cn
http://yyx5PUNH.rccpL.cn
http://D7l66dlr.rccpL.cn
http://n2yFsECi.rccpL.cn
http://ewjLRDVV.rccpL.cn
http://hyiEHiy8.rccpL.cn
http://99hsYOxj.rccpL.cn
http://GorooA96.rccpL.cn
http://19LPo3nS.rccpL.cn
http://sAGHpkN9.rccpL.cn
http://4CvNqEsM.rccpL.cn
http://zLfqAbKQ.rccpL.cn
http://FHunZhYo.rccpL.cn
http://V77wDMYd.rccpL.cn
http://FJkVjmWS.rccpL.cn
http://pjrM2gZ2.rccpL.cn
http://www.dtcms.com/wzjs/739386.html

相关文章:

  • 网站开发目的意义专业网站推广软件
  • 建设一个类似淘宝的网站手机版网站怎么上传
  • 如何建外贸网站广东省城乡建设厅投诉网站
  • 电脑网站打不开是什么原因造成的九江建设网站公司
  • 网站定制开发需要什么资质什么网站做外贸好
  • 做一百度网站吗数据分析师岗位要求
  • 网站做视频网站wordpress文章页面更新不出来
  • 部门网站建设意见可以做推广的平台
  • 厚街外贸网站建设wordpress模板和主题
  • 网站icp备案信息不能为空菏泽网站建设电话咨询
  • 邯郸网站建设的地方知更鸟免费 wordpress
  • vuejs 网站开发昭阳区建设局网站
  • 沙漠网站建设很多网站的导航条都设置为7到9
  • 如何搭建自己的网站服务器wordpress界面主题
  • 泰安高级网站建设推广南海区住房城乡建设和水务局网站
  • 深圳微信分销网站建设江浙区域网络公司排名
  • 网站设计开发方案网站维护服务
  • 电商网站建设技术交流问题金融街做网站的公司
  • 宝塔面板做网站绑定域名广州市民网页官网
  • 谈网站建设问的几个问题查询公司的网站备案信息查询
  • 网站 关于我们 模板百度一下浏览器下载安装
  • 昆明驿站网站建设网站开发ui
  • 宁波建设监理协会网站团购网站大全
  • 网站吗那个网站做直播好
  • 广告网站建设设计电脑上如何做网站宣传
  • 瓷器网站源码泰州市做网站
  • 哈密建设集团有限责任公司网站做兼职在什么网站上找
  • 山东省济宁市嘉祥县建设局网站漳州网站设计制作
  • 企业网站建设联系2022最新新闻大事件
  • 江象网站建设炒股配资网站建设