尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【Electron 3】electron将数据写入本地数据库
安装yarn add sqlite3 --save连接并调用数据库创建表createDB.ts文件内容const sqlite3 require(sqlite3) const NODE_ENV process.env.NODE_ENV const path require(path) const { app } require(electron) let DB_PATH path.join(app.getAppPath(), /electron/sql/数据库名.db); console.log(DB_PATH, app.getAppPath(), DB_PATH) if (NODE_ENV ! development) { // exe window DB_PATH path.join(path.dirname(app.getPath(exe)), /electron/sql/数据库名.db); } /** * Description: 连接数据库 * CreationDate 2023-05-10 13:48:41 */ function connectDatabase() { return new sqlite3.Database(DB_PATH, (err: any) { if (err) { console.error(--------------------connectDatabaseErr err.message); } console.log(-----------------sqlite3已经连接成功) }); } // 调用连接数据库 const db connectDatabase(); /** * Description: 创建数据库,如果用户本地没有数据库的话就创建否则跳过 * CreationDate 2023-05-10 13:44:48 */ function createDataTable() { /** * Description: 创建用户表 * CreationDate 2023-06-01 22:53:23 */ db.serialize(function() { // db.run(create table if not exists user (id INTEGER PRIMARY KEY AUTOINCREMENT, name text, email text, phone text);); db.run(create table if not exists test(name varchar(20)), () { db.run(insert into test values(nihao), () { db.all(select * from test, (err: any, res: any) { if (err) throw err console.log(JSON.stringify(res)) }) }) }) }); // db.close(); } exports.connectDatabase connectDatabase; exports.createDataTable createDataTable; exports.db db;在electron main.ts(主进程的主窗口文件)中的调用// 引入 const { createDataTable } require(./db/createDB); createTray(mainWindow)目前使用的db属性有基于我个人使用的理解如有问题请指出serialize 持续要运行的内部命令 run 运行某条数据 all 获取查找到的所有数据返回[] get 获取某条符合条件的数据返回{}操作数据库表命令创建表 create table if not exists 表名(字段名字段名,...) 说明 if not exists 如何没有这个表就会进行创建 查询某张表是否存在 SELECT sql FROM sqlite_master WHERE type table AND tbl_name 表名 增加一条数据 insert into 表名 values(字段1,字段2,...) 修改某条数据的字段 update 表名 set 字段名字段 where 字段名1字段 说明 set 设置要更新的数据 where 符合条件的字段 查某条数据 select * from 表名 where 字段名字段 where 为条件持续更新中。。。。注我后来发现一个更好用的better-sqlite3这个插件github上介绍的很详细比用sqlite3要查资料省不少时间学习资料csdn书《SQLite权威指南》菜鸟教程
RELATED

相关推荐

AIGC应用工程师实战:从模型调优到业务落地

AIGC应用工程师实战:从模型调优到业务落地

我无法根据当前输入内容生成符合要求的博文。原因如下:输入中仅提供了项目标题“技术专访|GEO高级优化师、落地工程师、AIGC应用工程师 罗长才”,但未提供任何实质性的项目正文、关键词列表或摘要描述;所谓“相关热搜词”和“最新…

📅 2026/10/11 4:20:38
AI编码革命:开发者、团队与个体的收益地图

AI编码革命:开发者、团队与个体的收益地图

AI编码革命:谁将获益?这半年我几乎每天都要跟AI编码工具打交道,说实话,2024年到2025年这波变革带来的冲击,比我过去十年见过的任何技术浪潮都更直接。以前讨论编程语言、框架、架构,顶多是换一套工具链&…

📅 2026/10/11 4:20:38
STM32 SPI 第四课学习笔记

STM32 SPI 第四课学习笔记

STM32 SPI 第四课学习笔记 嵌入式学习笔记 第 4 课 今天学习了 SPI 总线的电路结构、通信原理(时钟极性/相位、4 种模式),以及 STM32 SPI 模块的 CubeMX 配置、W25Q64 存储芯片和全双工数据收发编程,整理成文方便复习。 文章目录…

📅 2026/10/11 4:20:38
MORE NEWS

更多资讯

📰

测试用例设计全攻略:从等价类到场景法,实战组合拳

软件开发这行做了十几年,其中有大半时间泡在测试领域。我见过太多测试新人甚至部分老手,拿到需求就闷头写用例,写出来的东西洋洋洒洒几百条,真正上线前评审一看,核心场景漏了,边界条件没覆盖,异…

📰

集体好奇心如何驱动团队知识分享:从提问到回应的完整链路与落地方法

1. "集体好奇心"通常不是被个人压住的,而是被环境压住的1.1 一个我反复见到的场景:会后私聊很热闹,会上鸦雀无声有次我参加一个产品团队的复盘会,项目上线延期了两周。按道理这种会议应该很热闹,但那天反常地…

📰

# STM32平衡车开发日记 — 速度环:从悖论到闭环(附完整代码)

一、前言 上一篇文章我们搭好了串级PID的骨架,让平衡车能站稳——角度环保持在0,车身不倒了。 但站稳只是第一步。一辆实用的平衡车需要能听话地前进后退:你推摇杆往前,它就按你指定的速度往前走;推摇杆往后&#xf…

📰

小程序版「死了么」:人生进度可视化工具开发全复盘

第一次看到“微信小程序版「死了么APP」,它来了”这句话的人,多半会愣一下:这名字也太直白了吧?但稍微了解过互联网老梗的读者应该知道,“死了么”并不是真的在做死亡直播,而是网友对“寿命倒计时、人生剩余…

📰

Spring Profile 详解:多环境配置隔离与 Spring Boot 实践

Spring Profile 这词儿,在 Spring 家族里其实不算新了,但凡是做过几个正儿八经项目的 Java 开发者,几乎都得跟它打交道。我之前带过几个刚入行的新人,一上来就问“为什么我本地跑得好好的,打包发到服务器上就连不上数据…

📰

本地模型持续进化:Sidecar架构与后训练实战指南

1. 为什么"本地持续进化"是个真问题,而不是伪需求先把场景摆出来。你手头有一台配置还不错的机器,显卡显存够跑一个7B到14B量级的开源模型,日常拿它做代码补全、文档摘要、知识问答。用了一段时间你会发现一个很尴尬的事实&#xf…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬