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

高埗镇做网站上海排名seo公司

高埗镇做网站,上海排名seo公司,b2c平台有哪些平台网址,南宁网站运营哪家好上文 HarmonyOS 数据持久化之首选项 preferences 我们有说用户首选项 但它只能处理一些比较简单的数据类型结构 的持久化处理 如果是一些批量较大 结构较为复杂的数据结构 那么 首选项就无法满足了 我们就要选择 关系型数据库 通过 SQLite 组件实现的一种本地数据库&#xff0…

上文 HarmonyOS 数据持久化之首选项 preferences 我们有说用户首选项
但它只能处理一些比较简单的数据类型结构 的持久化处理
如果是一些批量较大 结构较为复杂的数据结构 那么 首选项就无法满足了 我们就要选择 关系型数据库

通过 SQLite 组件实现的一种本地数据库,具备所有关系型数据库特性 例如(事务 存储过程 视图)等等
因为是本地型数据库 所以不需要网络 性能也非常强大

因为 harmonyOS 关系型数据库 内容 比较复杂 我们分成三个部分

1 初始化数据库
2 对数据库进行 增删改 操作
3 查询操作

那么 我们就先来说 初始化数据库的内容

首先 这个东西 我们要封装起来 成一个类
在模块下的 ets目录 下 创建一个 utils 目录
下面创建一个 relationalClass.ts文件
在这里插入图片描述
然后 我们类基本骨架写成这样


//创建类对象 名称叫 relationalClass
class relationalClass{initTaskDB(context) {}}//new 一个relationalClass类的实力对象
const relational = new relationalClass()
//将实力对象导出
export default relational as relationalClass

然后 我们初始化的逻辑 就要写在 initTaskDB 中 因为初始化 需要UIAbility 中的 上下文 ConText
所以 这里 我们先接这个参数

首先 我们要导包

import relationalStore from "@ohos.data.relationalStore";

这也是 harmonyos 内置的 不需要安装 直接导入就可以用

然后 是做一个 rdb配置

const config = {name:'MyApplication.db',securityLevel: relationalStore.SecurityLevel.S1
}

在这里插入图片描述
这里 对象中 nameo 是我们数据库本地文件名 因为这个相当于是本地文件读写
然偶 securityLevel 字段就是 relationalStore.SecurityLevel 下的 S1 到 S4 值越大 安全级别越高
因为 这里 我们就是做个练习 所以 S1就够用了

键表的话 就用 sql 语句就好了 如果不懂sql 可以参考我的文章
MySQL新建表 演示单表增删查改

const sql = `CREATE TABLE IF NOT EXISTS TASK(ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT NOT NULL,FINISHED bit)`

这里 语句发生了 一点点变化

CREATE TABLE IF NOT EXISTS 表名 这句是基本一样的
第一 字段 ID
NTEGER 数字类型
PRIMARY KEY 设置组件唯一记录 不能重复
AUTOINCREMENT 数字属性自增 sql中是 AUTO_INCREMENT 这里 不要中间的横杠了

NAME 字段
这里字符串 变成了 TEXT 文本类型
NOT NULL 非空约束

FINISHED 字段

TASK 表 三个字段

有一些不太一样 但大体还是看得懂的

我们 整体代码 编写如下

//导入 relationalStore 首选项操作对象 这个包是harmonyos自带的 无需安装
import relationalStore from "@ohos.data.relationalStore";//创建类对象 名称叫 relationalClass
class relationalClass{//记录 rdbStore 操作数据库对象private rdbStore:relationalStore.RdbStoreinitTaskDB(context) {// 1.rdb配置const config = {name:'MyApplication.db',securityLevel: relationalStore.SecurityLevel.S1}// 2.初始化sql语句const sql = `CREATE TABLE IF NOT EXISTS TASK(ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT NOT NULL,FINISHED bit`// 获取 RDBrelationalStore.getRdbStore(context, config,(err, rdbStore)=> {if(err) {console.log('testTag', "获取rdbstore失败!");return}//执行创建表sqlrdbStore.executeSql(sql);console.log('testTag', "创建表sql执行完毕!");//记录 rdbStarethis.rdbStore = rdbStore;})}}//new 一个relationalClass类的实力对象
const relational = new relationalClass()
//将实力对象导出
export default relational as relationalClass

我们定义了一个成员变量 rdbStore
用于接受 getRdbStore 返回的 rdbStore对象 因为你之后要操作数据库 是需要通过它执行的

然后 我们 initTaskDB中 上来声明了 config 和 sql 内容 这个我们上面讲过
relationalStore.getRdbStore 获取 rdbSore 需要两个参数 UIAbility上下文的 ConText 和 我们上面声明的config
这里 会返回两个参数 如果 err有内容 说明 获取失败了 我们直接输出日志
如果 没有
则 通过 rdbStore.executeSql 执行我们的sql 需要一个sql字符串做参数

成功后 记录 rdbStore

然后 这里 我们找到模块入口文件
导入 我们写的这个类 然后在onCreate 生命周期中 使用我们写的 initTaskDB
传入 我们 UIAbility 上下文的 ConText
在这里插入图片描述

http://www.hkea.cn/news/732972/

相关文章:

  • 网站建设的财务计划新媒体营销策略有哪些
  • 网站建设分金手指专业二八宁波品牌网站推广优化
  • 清远网站建设公司百度游戏风云榜
  • 网上可以自学什么技术win7系统优化软件
  • 嘉兴建站软件如何做好企业网站的推广
  • 在凡科做网站短视频推广
  • 深圳推广公司推荐q群排名优化软件
  • 什么网站做简历模板宁德市医院
  • 用什么软件做公司网站游戏推广赚佣金的平台
  • 购物网站 后台模板河北seo技术培训
  • 聊城建设委员会官方网站google seo
  • 广西建设网郭业棚seo推广具体做什么
  • 武汉网站seo诊断谷歌下载官网
  • 做地方网站能赚钱吗免费seo网站诊断
  • 图片设计在线网站推广优化外包便宜
  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包
  • 网站建网站建设和优佛山网络推广培训
  • 毕业设计做网站怎么样微信crm管理系统
  • 个人网站开发多少钱电脑培训班零基础
  • 互联网有哪些岗位宁波免费seo在线优化
  • 惠州做棋牌网站建设哪家技术好哪里的网络推广培训好
  • 如何做线上赌博的网站推广策略有哪些方法
  • 男的女的做那个视频网站百度收录需要多久
  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询