2024年RN操作SQLite数据库的包(sqlite-helper,2024年最新面试官必问的技术问题之一有哪些

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

const { res, err } = await dbTool.selectItems(tableName, config)
if (res) {
callBack(res)
} else {
console.log(‘err’, err)
}
}

/**
* tableName 表名
* condition 条件
* callBack 回调函数
*/
async function searchSingle (tableName, config, callBack) {
const { res, err } = await dbTool.selectItems(tableName, config)
if (res) {
callBack(res)
} else {
console.log(‘err’, err)
}
}

/** 删除单项
* tableName 表名
* item_id 项目id
* callBack 回调函数
*/
async function remove (tableName, item_id, columnName, callBack) {
const condition = { columnName: columnName, value: item_id }
const { res, err } = await dbTool.deleteItem(tableName, [condition])
if (res) {
callBack(res)
} else {
console.log(‘err’, err)
}
}

/** 批量删除
* tableName 表名
* item_ids 项目id
* callBack 回调函数
*/
async function multilRemove (tableName, item_ids, callBack) {
let conditionArr = []
item_ids.forEach(item => {
const content = { columnName: ‘id’, value: item }
conditionArr.push(content)
})
const command = { combine: ‘OR’, conditions: conditionArr }
const { res, err } = await dbTool.deleteItem(tableName, command)
if (res) {
callBack(res)
} else {
console.log(‘err’, err)
}
}

/** 新增数据
* tableName 表名
* objects 对象数组
* callBack 回调函数
*/
async function insert (tableName, objects, callBack) {
const { res, err } = await dbTool.insertItems(tableName, objects)
if (res) {
callBack(res)
} else {
console.log(‘err’, err)
}
}

/** 修改数据
* tableName 表名
* item_id 项目id
* objects 对象数组
* callBack 回调函数
*/
async function modify (tableName, columnName, objects, item_ids, callBack) {
let conditions = []
item_ids.forEach(item_id => {
const condition = { columnName: columnName, value: item_id }
conditions.push(condition)
})
const command = { combine: ‘OR’, conditions: conditions }
const { res, err } = await dbTool.updateItem(tableName, objects, command)
if (res) {
callBack(res)
} else {
console.log(‘err’, err)
}
}

// 删除表数据(不删除结构)
function clear (tableName) {
// 清空表数据
dbTool.deleteItem(tableName, null) // 第二个参数传入null表示删除条件为空
.then(result => {
if (result.err) {
console.error(‘清空表’ + tableName + ‘数据失败’, result.err)
} else {
console.log(‘表数据已成功清空’)
}
})
}
/**
* 清空表数据
*/
async function clearTable () {
// grade 班组表名
// train 训练记录表名
// sensor 设备表名
// user 学员表名
clear(‘user’)
clear(‘grade’)
clear(‘train’)
clear(‘sensor’)

}
export default {
openDB,
search,
searchSingle,
remove,
multilRemove,
insert,
clearTable,
modify,
}


### 可以根据项目需要在进行一次封装



import SQLHelper from ‘./SQLHelper’
import Marco from ‘…/utils/Marco’

// 获取班级列表
export function getGradeList (callBack) {
SQLHelper.search(Marco.GradeTb, null, res => {
callBack(res)
})
}

// 获取学生列表
export function getStuList (grade_id, callBack) {
const condition = { columnName: ‘grade_id’, value: grade_id }
SQLHelper.search(Marco.UserTb, condition, res => {
callBack(res)
})
}

// 创建一个班级
export function createClass (info, callBack) {
SQLHelper.insert(Marco.GradeTb, [info], () => {
callBack()
})
}

// 创建一个学员
export function createUser (info, callBack) {
SQLHelper.insert(Marco.UserTb, [info], () => {
callBack()
})
}

// 更新成员信息
export function updateUser (info, user_id, callBack) {
SQLHelper.modify(Marco.UserTb, ‘id’, info, [user_id], () => {
callBack()
})
}

// 更新班级学员数量
export function updateCounts (info, grade_id, callBack) {
SQLHelper.modify(Marco.GradeTb, ‘id’, info, [grade_id], () => {
callBack()
})
}

// 删除学员
export function delMember (item_ids, callBack) {
SQLHelper.multilRemove(Marco.UserTb, item_ids, () => {
callBack()
})
}

// 获取设备列表
export function getSensorList (callBack) {
SQLHelper.search(Marco.SensorTb, null, res => {
callBack(res)
})
}

// 更新臂带绑定关系
export function updateUserSensor (info, user_id, callBack) {
SQLHelper.modify(Marco.UserTb, ‘id’, info, [user_id], () => {
callBack()
})
}

// 查询新建班级的id
export function getClassId (info, callBack) {
const config = { columns: [‘id’], conditions: [info] }
SQLHelper.searchSingle(Marco.GradeTb, config, res => {
callBack(res)
})
}

// 查询班级训练记录
export function getRecord (grade_id, callBack) {
const condition = { columnName: ‘grade_id’, value: grade_id }
SQLHelper.search(Marco.TrainTb, condition, res => {
callBack(res)
})
}

// 存储首次上课记录
export function saveSession (info, callBack) {
SQLHelper.insert(Marco.TrainTb, [info], res => {
callBack(res)
})
}

export function updateLastSession (info, grade_id, callBack) {
SQLHelper.modify(Marco.GradeTb, ‘id’, info, [grade_id], () => {
callBack()
})
}

// 查询新建班级的id
export function getSessionId (info, callBack) {
const config = { columns: [‘id’], conditions: [info] }
SQLHelper.searchSingle(Marco.TrainTb, config, res => {
callBack(res)
})
}

// 每分钟存一次上课记录
export function updateSession (info, session_id, callBack) {
SQLHelper.modify(Marco.TrainTb, ‘id’, info, [session_id], () => {
callBack()
})
}

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

1715644788120)]
[外链图片转存中…(img-njiUzvpH-1715644788120)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值