SQLite Electron-Modul
- Was ist SQLite Electron
-
So verwenden Sie das Modul
SQLite3
mit Electron - So verwenden Sie SQLite Electron
SQLite ist eine Open-Source-C-Bibliothek, die entwickelt wurde, um eine schnelle, zuverlässige, kleine, eigenständige SQL-Datenbank-Engine mit vollem Funktionsumfang auszuführen.
Es ist die weltweit am häufigsten verwendete Datenbank-Engine; es kommt in eingebauten Mobiltelefonen, Computern und unzähligen anderen Anwendungen vor, die Menschen in ihrem täglichen Leben verwenden.
Electron SQLite ist ein Modul, das es dem Elektron ermöglicht, die Datenbank SQLite3
zu verwenden, ohne dass sie neu erstellt werden muss. Derzeit unterstützt es Linux (x64) und Windows (x32, x64).
Was ist SQLite Electron
SQLite Electron ist im Wesentlichen ein Modul, das installiert werden kann. Sie können den Paketmanager npm
verwenden, um SQLite Electron zu installieren.
Dies kann auf folgende Weise erfolgen:
npm install SQLite-electron
Dieses Paket hilft bei der Installation der vorgefertigten Binärdateien von SQLite auf Ihrem System, solange Ihr System unterstützt wird. Es verfügt über mehrere integrierte Funktionen, mit denen Sie Ihre Probleme zu einer Lösung navigieren können.
So verwenden Sie das Modul SQLite3
mit Electron
Angenommen, Sie müssen für eine Aufgabe eine Anwendung mit Elektron entwickeln, die das Paket SQLite3
verwendet. In diesem Fall helfen wir Ihnen, diese Aufgabe zu erfüllen.
Eine einfache Möglichkeit, SQLite mit dem Elektron zu verwenden, ist ein Elektron-Builder
. Der erste Schritt, um dies zu erreichen, besteht darin, einen Post-Install-Schritt in Ihre package.json
einzufügen.
Dies geschieht auf folgende Weise:
"scripts": {
"postinstall": "install-app-deps"
...
}
Wenn Sie fertig sind, installieren Sie die erforderlichen Abhängigkeiten und erstellen Sie sie.
npm install --save-dev electron-builder
npm install --save sqlite3
npm run postinstall
Nachdem Sie mit den oben genannten Schritten fertig sind, baut der Elektron-Builder
das native Modul für Ihre Plattform mit dem richtigen Namen für die Elektronenbindung.
Sie können es wie erwartet später im Code anfordern
. Fügen Sie den Schalter "/m"
hinzu, um paralleles Bauen zu ermöglichen.
Dabei sind immer zwei Aspekte zu beachten:
-
Sie müssen sicherstellen, dass Elektron weiß, wo sich Ihre Module befinden. Dies geschieht durch das Setzen von
NODE_PATH
.Electron kann die Umgebungsvariablen
NODE_PATH
nicht automatisch setzen. Sie müssen dies manuell tun, indem Sie es auf alle Pfade einstellen, die Ihre gewünschten Module enthalten. -
Kompilieren Sie native Module gegen Electron-Header.
Funktionen von Electron SQLite
Das SQLite-Elektronenpaket hat mehrere Funktionen, die Ihnen helfen, Ihren Zweck effizienter zu erreichen.
-
dbPath
: Dies ist eine Variable, die Ihren Pfad für die Datenbank festlegen soll. Wenn die Datenbank bereits vorhanden ist, wird eine Verbindung zur Datenbank hergestellt. -
executeQuery(Query =" " fetch =" ", values =[] )
: Diese Funktion hat die Aufgabe, eine einzelne Abfrage mitfetch
undvalues
auszuführen.Es ist jedoch wichtig zu wissen, dass der
fetch
in einem Datentyp-String sein muss, zum Beispiel'all'
,'1'
,'2'
usw. Alle Werte müssen im Array enthalten sein . -
executeMany( Query=" ", values = [] )
: Diese Funktion hat die Aufgabe, eine einzelne Abfrage mit mehreren Werten auszuführen. -
executeScript( scriptName =" )
: Diese Funktion wird beauftragt, das SQL-Skript auszuführen Stellen Sie sicher, dassscriptName
der Name des Skripts ist.
So verwenden Sie SQLite Electron
Während ein Elektron verwendet wird, sollte das SQLite Electron nur für den Hauptprozess notwendig sein. Nehmen Sie den folgenden Code als Beispiel.
const {app, BrowserWindow} = require('electron')
const sqlite = require('sqlite-electron')
function createWindow() {
// Add your code here
}
app.whenReady().then(
() => {
// Add your code here
})
app.on(
'window-all-closed',
() => {
// Add your code here
})
dbPfad
Wie bereits erwähnt, ist dbPath
eine Variable, die exponiert und damit beauftragt wird, den Pfad der neuen Datenbank festzulegen und eine Verbindung zu einer vorhandenen Datenbank herzustellen. Es wäre am besten, diese Variable zu reparieren, bevor Sie irgendwelche APIs
verwenden.
Tun Sie dies auf folgende Weise:
const {app, BrowserWindow, ipcMain} = require('electron')
const SQLite = require('SQLite-electron')
function createWindow() {
// Your Code
}
app.whenReady().then(
() => {
// Your Code
})
app.on(
'window-all-closed',
() => {
// Your Code
})
ipcMain.handle('databasePath', (event, dbPath) => {
SQLite.dbPath = dbPath
return true
})
executeQuery
Die Funktion executeQuery
ist für die Ausführung einer beliebigen einzelnen Abfrage verantwortlich. Zum Beispiel:
SELECT * FROM main_sqlite WHERE..
Hier können Sie Werte durch das Wertearray übergeben und die Funktion zum Abrufen von Daten aufrufen, indem Sie bestimmte Abrufparameter angeben, z. B. "all"
, 1
, 2
, 3
, 4
, … “Unendlichkeit”.
Es ist wichtig zu wissen, dass Werte niemals in der Abfragezeichenfolge angegeben werden sollten. Verwenden Sie das Wertarray, um Werte für die Abfrage bereitzustellen.
Das Vermeiden dieses Schritts kann zu SQL-Injection-Angriffen führen. Zum Beispiel:
("INSERT INTO main_sqlite (NAME, DOB, AGE, MAIN_ADDRESS ) VALUES ( ?,?,?,?);"
, ["name", 4/08.2001, 20, "sample address"])
Sie können diese Funktion auf folgende Weise verwenden:
const {app, BrowserWindow, ipcMain} = require('electron')
const sqlite = require('sqlite-electron')
function createWindow() {
// Add your code
}
app.whenReady().then(
() => {
// Add your code
})
app.on(
'window-all-closed',
() => {
// Add your code
})
ipcMain.handle('databasePath', (event, dbPath) => {
SQLite.dbPath = dbPath
return true
})
ipcMain.handle(
'executeQuery', async (event_name, query_name, fetch_name, val) => {
return await sqlite.executeQuery(query_name, fetch_name, val);
})
executeMany
Diese Funktion wird zum Ausführen einer Abfrage verwendet, die mehrere Werte verwendet.
Zum Beispiel:
("INSERT INTO main_sqlite (NAME, DOB, AGE, MAIN_ADDRESS ) VALUES ( ?,?,?,?);"
, ["name", 4/08.2001, 20, "sample address"], ["name2", 4/09.2000, 21, "sample address2"])
In executeMany
ist die Funktion fetch
nicht verfügbar.
Die Funktion kann wie folgt verwendet werden:
const {app, BrowserWindow, ipcMain} = require('electron')
const SQLite = require('SQLite-electron')
function createWindow() {
// Add your Code
}
app.whenReady().then(
() => {
// Add your Code
})
app.on(
'window-all-closed',
() => {
// Add your Code
})
ipcMain.handle('databasePath', (event, dbPath) => {
SQLite.dbPath = dbPath
return true
})
ipcMain.handle(
'executeMany',
async (event_name, query_name, val) => {
return await sqlite.executeMany(query_name, val)})
executeScript
Diese Funktion führt mehrere Abfragen aus, während sie SQL-Skripts verwendet.
Dies geschieht auf folgende Weise:
const {app, BrowserWindow, ipcMain} = require('electron')
const SQLite = require('SQLite-electron')
function createWindow() {
// Add your Code
}
app.whenReady().then(
() => {
// Add your Code
})
app.on(
'window-all-closed',
() => {
// Add your Code
})
ipcMain.handle('databasePath', (event_name, dbPath) => {
SQLite.dbPath = dbPath
return true
})
ipcMain.handle('executeScript', async (event_name, pathOfScript) => {
return await sqlite.executeScript(pathOfScript);
// or
return await sqlite.executeScript(
'CREATE TABLE IF NOT EXISTS main_sqlite (USERID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,FULLNAME TEXT NOT NULL,FULLADDRESS CHAR(50) NOT NULL);');
})
Wenn Sie Electron SQLite verwenden müssen, hoffen wir, dass Ihnen dieser Artikel bei der Installation, den Funktionen und der Verwendung geholfen hat.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub