我是使用的
npm create @quick-start/electron
创建的electron,版本是electron v31.2.0,nodejs版本20.15,在配置sqlite3报错
解决,使用
npm install electron-sqlite
命令安装
Electron-SQLite 是一个 Electron 应用中使用的 SQLite 数据库封装库。它允许你以简单的方式来操作 SQLite 数据库。
使用案例
const { app, BrowserWindow } = require('electron');
const sqlite3 = require('electron-sqlite').default;
// 指定数据库文件的路径
const dbPath = app.getPath('userData') + '/database.sqlite';
// 初始化数据库
const db = new sqlite3(dbPath);
// 使用数据库
app.whenReady().then(() => {
// 创建表格
db.run(`CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL UNIQUE
)`);
// 插入数据
db.run(`INSERT INTO users (name, email) VALUES (?, ?)`, ['Alice', 'alice@example.com'], function (err) {
if (err) {
console.error('插入数据出错', err);
return;
}
console.log('数据插入成功');
});
// 查询数据
db.all('SELECT * FROM users', [], (err, rows) => {
if (err) {
console.error('查询数据出错', err);
return;
}
console.log('查询到的用户:', rows);
});
// 关闭数据库连接
db.close();
});
API 概览
Electron-SQLite 提供了 SQLite3 的所有功能,包括:
db.run(sql, params, callback)
: 执行 SQL 语句,params
是一个参数数组,callback
是执行完成后的回调函数。db.get(sql, params, callback)
: 执行 SQL 查询并获取第一条结果,params
是一个参数数组,callback
返回查询结果。db.all(sql, params, callback)
: 执行 SQL 查询并获取所有结果,params
是一个参数数组,callback
返回所有查询结果。db.each(sql, params, callback)
: 逐行迭代查询结果。db.serialize(fn)
: 序列化数据库操作,确保在下一个操作开始前当前操作已经完成。db.run("BEGIN")
: 开始一个事务。db.run("COMMIT")
: 提交一个事务。db.run("ROLLBACK")
: 回滚一个事务。
注意事项
- 确保在 Electron 的
app.whenReady()
回调中初始化和使用数据库,以确保 Electron 环境已经准备好。 - 使用参数化查询(如
db.run()
和db.get()
中的params
参数)可以防止 SQL 注入攻击。 - 在执行数据库操作时,始终检查错误并妥善处理。
- 在应用退出前,确保关闭数据库连接以释放资源。
Electron-SQLite 是一个简单易用的 SQLite 客户端,适合在 Electron 应用中进行轻量级的数据存储和管理。通过上述步骤,您可以快速集成并使用 Electron-SQLite。