ToB企服应用市场:ToB评测及商务社交产业平台

标题: 第二篇 electron + vue + sqlite3 桌面端集资源地数据库实现增删改查 [打印本页]

作者: 写过一篇    时间: 2024-7-28 04:05
标题: 第二篇 electron + vue + sqlite3 桌面端集资源地数据库实现增删改查
前言

SQLite是一种嵌入式关系型数据库管理体系,是一个零配置、无服务器的、自给自足的、事务性的SQL数据库引擎。SQLite是一个轻量级的数据库,可以在各种操作体系上使用,并且支持SQL语言标准。
SQLite可以用来存储和管理大量的数据,并且可以通过SQL语句来查询和操作这些数据。它可以用于移动应用程序、桌面应用程序、Web应用程序、嵌入式体系等等。
1.安装sqlite3

npm install sqlite3 --save
可视化工具可自行下载 SQLiteStudio
2.毗连数据库

  1. const sqlite3 = require('sqlite3').verbose();
  2. const path = require('path');
  3. let dbPath = path.resolve(process.env.VUE_APP_DB_URL);
  4. let db = new sqlite3.Database(dbPath);
复制代码
3.编写增删改查功能

  1. import { ipcMain} from 'electron';
  2. export function handleDatabaseApi() {
  3.     ipcMain.handle('getUserInfo', (event, params) => {\
  4.         return new Promise((resolve, reject) => {
  5.             db.all('SELECT * from user_info',
  6.                 (err, rows) => {
  7.                     if (err) {
  8.                         reject(err);
  9.                     } else {
  10.                         resolve(rows);
  11.                     }
  12.                 })
  13.         });
  14.     });
  15.     ipcMain.handle('updateUserInfo', (event, params) => {
  16.         return new Promise((resolve, reject) => {
  17.             db.run('UPDATE user_info SET role = ?  WHERE ID = ?;',
  18.                 [params.role,params.id],
  19.                 (err, rows) => {
  20.                     if (err) {
  21.                         reject(err);
  22.                     } else {
  23.                         resolve(rows);
  24.                     }
  25.                 })
  26.         });
  27.     });
  28.     ipcMain.handle('createUserInfo', (event, params) => {
  29.         return new Promise((resolve, reject) => {
  30.             db.run('INSERT INTO user_info (userName,role) VALUES (?,?);',
  31.                 [params.userName,params.role],
  32.                 (err, rows) => {
  33.                     if (err) {
  34.                         reject(err);
  35.                     } else {
  36.                         resolve(rows);
  37.                     }
  38.                 })
  39.         });
  40.     });
  41.     ipcMain.handle('delUserInfo', (event, params) => {
  42.         return new Promise((resolve, reject) => {
  43.             db.run('DELETE FROM user_info WHERE id=?;',
  44.                 [params.id],
  45.                 (err, rows) => {
  46.                     if (err) {
  47.                         reject(err);
  48.                     } else {
  49.                         resolve(rows);
  50.                     }
  51.                 })
  52.         });
  53.     });
  54. }
复制代码
4.主线程background.js中引入


5.渲染线程调用方法(即Vue组件)


以上是electron + vue + sqlite3 完成数据库增删改查的方法







免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4