UNI-APP 使用sqlite数据库本地缓存数据处理

本文介绍了如何在uni-app中使用SQLite数据库进行本地数据缓存,首先需要了解基本的SQL语法,然后在uni-app的配置中开启相应权限。文章提供了封装的SQLite操作代码示例,并给出了在页面引入及使用的详细步骤,还附带了一个演示demo的链接。
摘要由CSDN通过智能技术生成

在 uni-app 使用 sqlite 要先学习简单的 SQL 语法。
SQLite传送门

首要工作

  • plus.sqlite要在手机或者模拟器上才能运行!
  • manifest.json里的App模块权限配置里勾选SQLite(数据库)
    在这里插入图片描述

源码

封装的 sqlite.js

module.exports = {
   
  dbName: 'chat', // 数据库名称
  dbPath: '_doc/chat.db', // 数据库地址,推荐以下划线为开头   _doc/xxx.db

  // 判断数据库是否打开
  isOpen() {
   
    // 数据库打开了就返回 true,否则返回 false
    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 是表名,不能用数字开头、括号里是表格的表头
  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);
        }
      })
    })
  },

  // 数据库删表 sql:'DROP TABLE dbTable'
  dropTable(dbTable) {
   
    return new Promise((resolve, reject) => {
   
      plus.sqlite.
  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值