g***@163.com
g***@163.com
  • 发布:2026-08-09 21:05
  • 更新:2026-08-09 21:07
  • 阅读:22

uni-app x 能使用sqlite数据库吗?

分类:uni-app x

hbuilderx 5.23,

bing.com 搜索 uniappx sqlite ,结果:
你需要在uniapp项目中引入SQLite数据库的相关API。uniapp提供了plus.sqlite接口,

// 引入封装好的数据库操作模块  
import DB from "@/api/sqlite";   <----  这里会报错

我相知道如何添加 sqlite支持。

2026-08-09 21:05 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。

uni-app x 可以使用 sqlite,但官方没有内置 sqlite api,也不能使用旧 uni-app 的 plus.sqlite

你搜索到的 import DB from "@/api/sqlite" 报错,是因为这是旧 uni-app 的写法。uni-app x 不再支持 plusweex api,不能直接沿用 plus.sqlite 相关代码。

在 uni-app x 中使用 sqlite 有两种方式:

  1. 使用插件市场的 sqlite 插件

官方人员明确回复过:uni-app x 官方未封装 sqlite,可以使用插件市场插件。参考:uniappx可以使用sqlite么?

插件市场已有多个 uni-app x sqlite 插件,例如:

使用方式:

  1. 打开 插件市场
  2. 搜索 sqlite,并勾选 uni-app x 筛选条件
  3. 选择支持你目标平台的插件
  4. 下载并导入项目,插件会放在 uni_modules 目录下
  5. 按照插件文档调用

例如第一个插件的调用方式是:

const sqliteContext = uni.createSQLiteContext({  
  name: 'test.db'  
})  

sqliteContext.executeSql({  
  sql: 'insert into test values(1, "test")',  
  success: function(res) {  
    console.log(res)  
  },  
  fail: function(err) {  
    console.log(err)  
  }  
})  

sqliteContext.selectSql({  
  sql: 'select * from test',  
  success: function(res) {  
    console.log(res)  
  },  
  fail: function(err) {  
    console.log(err)  
  }  
})

本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码

  1. 自己封装 uts 插件

如果插件市场的插件不满足需求,可以自己写 uts 插件,通过平台原生 api 操作 sqlite:

  • android:调用 android 系统的 SQLiteDatabase api
  • ios:调用 ios 的 sqlite3 或相关原生能力
  • 鸿蒙:调用鸿蒙的关系型数据库 api

uts 插件开发参考:

需要注意的是,uts 是强类型语言,不能直接照搬 js 写法。例如 android 平台调用 query 时,参数类型必须严格匹配,不能直接把 UTSArray 赋值给 Array<String>,需要做类型转换。

另外,如果只是简单的键值对存储,不需要 sql 查询,可以直接使用 uni.setStorageSyncuni.getStorageSync,android 端底层本身就是基于 sqlite 实现的。但如果需要复杂查询、事务、关联查询等能力,还是需要使用 sqlite 插件。

总结:你的项目需要先在插件市场下载适配 uni-app x 的 sqlite 插件,或者自己封装 uts 插件,不能使用旧 uni-app 的 plus.sqlite 方式。

内容为 AI 生成,仅供参考

要回复问题请先登录注册