在electron中使用sqlite数据库

在electron中使用sqlite数据库

    • 安装
    • 连接数据库
    • 连接数据库并建立一个表
    • 插入数据
    • 结果
    • 最后

安装

npm i sqlite3 sqlite -s 
//sqlite3为sqlite数据库驱动
//sqlite库:使用了promise对sqlite3 进行一次封装,比回调方式更符合我们的操作

连接数据库

新建 dbConnect.js 文件

const { open } = require("sqlite");
const sqlite3 = require("sqlite3").verbose();
//dbPath为你想存放数据库文件的目录路径
const connectDb = (dbPath) => {
  return open({
    filename: dbPath,
    driver: sqlite3.Database,
  });
};

module.exports = { connectDb };

连接数据库并建立一个表

//引入
const { connectDb } = require("./db/index");
//自定义数据库路径
const userDbPath = path.join("./db", "user.db");

async createUserInfoTable() {
    const userInfoDb = await connectDb(userDbPath);
    const sql = `create table userInfo (
        id integer primary key autoincrement ,
        username varchar unique not null ,
        password varchar not null ,
        name text not null ,
        remark text 
        )`;
    let res = null;
    try {
      //查询使用userInfoDb.get userInfoDb.all等 更多命令请查阅官方文档
      const runRes = await userInfoDb.run(sql);
      res = {
      	code:200,
      	data:runRes 
      }
    } catch (e) {
      res = {
      	code:500,
      	msg:e
      }
    } finally {
    //最后关闭连接
      await userInfoDb.close();
    }
    return res;
  }

插入数据

const md5 = require("md5-node");
async inertUserInfoTable(data = {}) {
    const userInfoDb = await connectDb(userDbPath);
    const sql = `insert into userInfo (username,password,name,remark) values (:username,:password,:name,:remark)`;
    let res = null;
    try {
      const v = {
      	":username": data[":username"],
        ":name": data[":name"],
        ":remark": data[":password"],
        ":password": md5(data[":password"]),
      };
      const runRes = await userInfoDb.run(sql, v);
       res = {
      	code:200,
      	data:runRes 
      }
    } catch (e) {
      res = {
      	code:500,
      	msg:e
      }
    } finally {
      await userInfoDb.close();
    }
    return res;
  }

结果

在electron中使用sqlite数据库_第1张图片

最后

本文章仅仅介绍如何在electron中使用sqlite数据库,sqlite的sql语句不做解释。

你可能感兴趣的:(electron,数据库,sqlite,electron,vue,node)