前言
SQLite是一种嵌入式关系型数据库管理体系,是一个零配置、无服务器的、自给自足的、事务性的SQL数据库引擎。SQLite是一个轻量级的数据库,可以在各种操作体系上使用,并且支持SQL语言标准。
SQLite可以用来存储和管理大量的数据,并且可以通过SQL语句来查询和操作这些数据。它可以用于移动应用程序、桌面应用程序、Web应用程序、嵌入式体系等等。
1.安装sqlite3
npm install sqlite3 --save
可视化工具可自行下载 SQLiteStudio
2.毗连数据库
- const sqlite3 = require('sqlite3').verbose();
- const path = require('path');
- let dbPath = path.resolve(process.env.VUE_APP_DB_URL);
- let db = new sqlite3.Database(dbPath);
复制代码 3.编写增删改查功能
- import { ipcMain} from 'electron';
- export function handleDatabaseApi() {
- ipcMain.handle('getUserInfo', (event, params) => {\
- return new Promise((resolve, reject) => {
- db.all('SELECT * from user_info',
- (err, rows) => {
- if (err) {
- reject(err);
- } else {
- resolve(rows);
- }
- })
- });
- });
- ipcMain.handle('updateUserInfo', (event, params) => {
- return new Promise((resolve, reject) => {
- db.run('UPDATE user_info SET role = ? WHERE ID = ?;',
- [params.role,params.id],
- (err, rows) => {
- if (err) {
- reject(err);
- } else {
- resolve(rows);
- }
- })
- });
- });
- ipcMain.handle('createUserInfo', (event, params) => {
- return new Promise((resolve, reject) => {
- db.run('INSERT INTO user_info (userName,role) VALUES (?,?);',
- [params.userName,params.role],
- (err, rows) => {
- if (err) {
- reject(err);
- } else {
- resolve(rows);
- }
- })
- });
- });
- ipcMain.handle('delUserInfo', (event, params) => {
- return new Promise((resolve, reject) => {
- db.run('DELETE FROM user_info WHERE id=?;',
- [params.id],
- (err, rows) => {
- if (err) {
- reject(err);
- } else {
- resolve(rows);
- }
- })
- });
- });
- }
复制代码 4.主线程background.js中引入
5.渲染线程调用方法(即Vue组件)
以上是electron + vue + sqlite3 完成数据库增删改查的方法
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |