HarmonyOS 数据持久化 关系型数据库之 增删改逻辑编写

好 上文 HarmonyOS 数据持久化 关系型数据库之 初始化操作 我们讲了 关系型数据库初始化
那么 本文 我们来编写 增删改 相关代码
打开我们的项目 打开到 我们之前写的这个 relationalClass 类
在这里插入图片描述
然后 我们在 initTaskDB 下面再定义一个函数 叫 addTask 的函数 用来执行添加逻辑
直接编写代码如下

//添加表数据
addTask(name:string):Promise<number> {//调用rdbStore对象中的 insert  返回 添加进入的idreturn this.rdbStore.insert("TASK",{name,finished: false})
}

首先 我们函数 接受一个字符串类型的name 字段 没错 名字要从外面传进来
然后 我们直接通过存起来的 rdbStore 对象 调用 insert 函数
这个函数接收两个参数 第一个字符串类型 就是 表名 我们的表叫 TASK
然后 第二个参数 是要添加的值 键值对
第一个 name 我们直接从外面传进来
然后 第二个 finished 我们新加的 就赋值为false吧
然后 id因为 我们上文已经加了 AUTOINCREMENT 它会自动增长 不需要我们管

然后 这个函数 是异步的 成功回调后 会返回添加的这条数据的id
这里 我懒得处理了 直接返回回去 Promise

就这么简单 我们新增的就搞定了

然后 我们在下面再加一个 updateTask update顾名思义 修改的函数
编写代码如下

//根据id修改数据
updateTask(id:number,finished: boolean) {//传入表名 获取 predicates 对象let predicates = new relationalStore.RdbPredicates("TASK")// 通过 predicates 对象 调用 equalTo 编写修改添加  改ID匹配上的那一条predicates.equalTo('ID',id)//通过  rdbStore 调用update 执行修改操作  接受 一个对象 既要修改的字段和值  predicatesreturn this.rdbStore.update({finished},predicates)
}

这里 我们接收两个参数 id和finished
先 new 一个 predicates 对象 RdbPredicates函数接收表名作为参数 告诉它 你要修改哪张表
然后 用 predicates 对象调用 equalTo 传入修改的添加 通过 ID匹配我们传入的id
然后 最后 通过 rdbStore 调用 update
第一个参数 是个对象 指定我们要修改的字段 我们只修改finished 值是从外面传进来的
然后 第二个参数 predicates 就是我们new出来的那个
最后 返回值 我们直接让它返回出去 让调用这个方法的地方处理

修改会写了 那删除就很简单了
在下面再来一个函数
deleteTask
我们编写代码如下

//删除操作
deleteTask(id: number) {//传入表名 获取 predicates 对象let predicates = new relationalStore.RdbPredicates("TASK")// 通过 predicates 对象 调用 equalTo 编写删除条件  删ID匹配上的那一条predicates.equalTo('ID',id)//调用 delete 删除方法 只需要传入条件return this.rdbStore.delete(predicates)
}

这里 我们编写条件的方式 和 修改是一模一样的
然后 调用delete 函数 进行删除

好啦 那增删改 都搞定啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/732156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文笔记】Mamba: Linear-Time Sequence Modeling with Selective State Spaces

原文链接&#xff1a;https://arxiv.org/abs/2312.00752 1. 引言 基石模型&#xff08;FM&#xff09;的主干网络通常是序列模型&#xff0c;处理任意的输入序列。但现代FM主要基于Transformer这一序列模型&#xff0c;及其核心的注意力。但是&#xff0c;自注意力仅能在上下…

EVMProxyInspect:一款功能强大的多链EVM代理检测工具

关于EVMProxyInspect EVMProxyInspect是一款针对以太坊EVM代理的检测工具&#xff0c;该工具可以帮助广大研究人员在多链生态中检测EVM代理。 该工具能够展示类似etherscan这样的工具是如何检测代理的&#xff0c;并且允许我们自行进行代理检测。需要注意的是&#xff0c;该工…

Python:在 Ubuntu 上安装 pip的方法

目录 1、检测是否已安装pip 2、更新软件源 3、安装 4、检测是否安装成功 pip和pip3都是Python包管理工具&#xff0c;用于安装和管理Python包。 在Ubuntu上&#xff0c;pip和pip3是分别针对Python2和Python3版本的pip工具。 pip3作用&#xff1a;自动下载安装Python的库文…

网络安全攻防演练:提升应急响应能力的关键步骤

01、全力以赴&#xff0c;一切为了客户更好的安全 &#xff08;1&#xff09;满足合规要求 网络安全法、地方性法规、等保2.0相关标准等均对此有明确的要求。 &#xff08;2&#xff09;了解安全“真实”现状 “真实”是我们认识事务的终极目标&#xff0c;如果我们能更真实地…

Linux(Centos7)安装Docker 教程

目录 1&#xff0c;卸载旧版本2&#xff0c;安装docker软件包3,设置镜像仓库地址4,安装最新版Docker Engine容器5&#xff0c;启动Docker 要安装Docker Engine&#xff0c;您需要CentOS 7或8的维护版本。不支持或未测试存档版本。 1&#xff0c;卸载旧版本 sudo yum remove do…

webUI自动化之元素及浏览器操作

一、元素定位方式 1、元素属性定位&#xff1a; 1 element driver.find_element_by_id(self, id)    该类方法已经过时&#xff0c;新的方法如下&#xff1a; element driver.find_element(By.ID, ID 值)        # 用元素的 ID 属性定位element driver.find_eleme…

C++ 疑难点

C疑难点 this指针 调用成员函数时&#xff0c;成员函数通过一个名为 this 的隐式参数来访问调用它的那个对象&#xff0c;用请求该函数的对象地址初始化 this &#xff0c;this 的指向总是自己这个对象&#xff0c;所以 this 是一个常量指针 Box* get_address() //得到thi…

一大波你可能不知道的 Linux 网络工具

如果要在你的系统上监控网络&#xff0c;那么使用命令行工具是非常实用的&#xff0c;并且对于 Linux 用户来说&#xff0c;有着许许多多现成的工具可以使用&#xff0c;如&#xff1a;nethogs, ntopng, nload, iftop, iptraf, bmon, slurm, tcptrack, cbm, netwatch, collectl…

idea:springboot项目搭建

目录 一、创建项目 1、File → New → Project 2、Spring Initializr → Next 3、填写信息 → Next 4、web → Spring Web → Next 5、填写信息 → Finish 6、处理配置不合理内容 7、注意事项 7.1 有依赖包&#xff0c;却显示找不到依赖&#xff0c;刷新一下maven 7.…

linux系统docker历史以及对虚拟机的区别

docker历史及与容器的区别 docker容器历史对paas降维打击容器和虚拟机的区别容器应用场景 docker容器历史 容器概念始于 1979 年提出的 UNIX chroot&#xff0c;它是一个 UNIX 操作系统的系统调用&#xff0c;将一个进程及其子进程的根目录改变到文件系统中的一个新位置&#…

社交媒体的未来图景:探索Facebook的数字化之旅

随着科技的迅猛发展&#xff0c;数字化社交已经成为了我们日常生活中不可或缺的一部分。在这个数字化时代&#xff0c;社交媒体平台扮演着重要角色&#xff0c;其中Facebook作为社交媒体的先锋&#xff0c;不断探索创新之路&#xff0c;引领着数字化社交的未来发展。本文将深入…

CF1520 Round 719 (Div. 3) 补题报告

Codeforces Round 719 (Div. 3) A. Do Not Be Distracted! A. 不要分心&#xff01; 题意 给定一个字符串&#xff0c;相同的字母只能相互连接出现&#xff0c;不得出现后再次单独出现&#xff0c;判断字符串是否合规 思路 用桶记录字符出现的次数&#xff0c;判断再次出…

两天学会微服务网关Gateway-Gateway路由规则

锋哥原创的微服务网关Gateway视频教程&#xff1a; Gateway微服务网关视频教程&#xff08;无废话版&#xff09;_哔哩哔哩_bilibiliGateway微服务网关视频教程&#xff08;无废话版&#xff09;共计17条视频&#xff0c;包括&#xff1a;1_Gateway简介、2_Gateway工作原理、3…

和数软件:区块链技术的爆发与冲击

什么是区块链&#xff1f;它是如何发展而来的&#xff1f;应用在哪些领域&#xff1f;将会对我国的社会经济产生哪些重大影响&#xff1f; 什么是区块链 区块链作为一种底层技术&#xff0c;最早的实践是数字货币。根据最早的中本聪定义&#xff0c;区块链实质上是一种基于网…

MS2548 国产自动方向控制、半双工 RS-485 收发器 替代MAX13487

MS2548 国产自动方向控制、半双工 RS-485 收发器 替代MAX13487 北京冠宇铭通科技有限公司 肖小姐 产品简述 MS2548 是一个 5V 供电、半双工 RS-485 收发器。 芯片具有自动换向控制功能&#xff0c;可用于隔离485 端口&#xff0c;驱动器输入与使能信号一起配合控制芯片的状态&…

机器学习--循环神经网络(RNN)4

一、RNN的学习方式 如果要做学习&#xff0c;需要定义一个损失函数&#xff08;loss function&#xff09;来评估模型的好坏&#xff0c;选一个参数要让损失最小。 以槽填充为例&#xff0c;如上图所示&#xff0c;给定一些句子&#xff0c;给定一些标签&#xff0c;告诉机器…

借助Aspose.html控件,在 Java 中将 URL 转换为 PDF

如果您正在寻找一种将实时 URL 中的网页另存为 PDF文档的方法&#xff0c;那么您来对地方了。在这篇博文中&#xff0c;我们将学习如何使用 Java 将 URL 转换为 PDF。从实时 URL转换HTML网页可以像任何其他文档一样保存所需的网页以供离线访问。将网页保存为 PDF 格式可以轻松突…

华为ce12800交换机m-lag(V-STP模式)配置举例

配置## 标题思路 采用如下的思路配置M-LAG双归接入IP网络&#xff1a; 1.在Switch上配置上行接口绑定在一个Eth-Trunk中。 2.分别在SwitchA和SwitchB上配置V-STP、DFS Group、peer-link和M-LAG接口。 3.分别在SwitchA和SwitchB上配置LACP M-LAG的系统优先级、系统ID。 4.分别在…

【STM32+HAL】GY25倾斜度角度模块

一、前言 有关MPU6050模块读取六轴传感器数值的详细内容&#xff0c;详见【STM32HAL】姿态传感器陀螺仪MPU6050模块 二、所用工具 1、芯片&#xff1a;STM32F103C8T6 2、配置软件&#xff1a;CUBEMX 3、编译器&#xff1a;KEIL5 4、产品型号&#xff1a;GY-25 5、使用芯片…

基于SSH框架的鞋业管理系统设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 MySQL 3 1.2 SSH框架 3 1.2.1 Struts 3 1.2.2 Spring 4 1.2.3 Hibernate 5 1.3 B/S架构 5 1.4 本章小结 6 2 系统分析 7 2.1 用例分析 7 2.2 功能需求 9 2.3 非功能需求 11 2.4 本章小结 12 3 系统设计 13 3.1 系统概要设…