国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Electron+vue3項目使用SQLite3數(shù)據(jù)庫

這篇具有很好參考價值的文章主要介紹了Electron+vue3項目使用SQLite3數(shù)據(jù)庫。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

SQLite?是一個進程內(nèi)的庫,實現(xiàn)了自給自足的、無服務(wù)器的、零配置的、事務(wù)性的?SQL?數(shù)據(jù)庫引擎。它是一個零配置的數(shù)據(jù)庫,這意味著與其他數(shù)據(jù)庫不一樣,我們不需要在系統(tǒng)中配置。

就像其他數(shù)據(jù)庫,SQLite?引擎不是一個獨立的進程,可以按應(yīng)用程序需求進行靜態(tài)或動態(tài)連接。SQLite?直接訪問其存儲文件。

特性:

  1. 不需要一個單獨的服務(wù)器進程或操作的系統(tǒng);
  2. 一個完整的?SQLite?數(shù)據(jù)庫是存儲在一個單一的跨平臺的磁盤文件中;
  3. SQLite?是自給自足的,這意味著不需要任何外部的依賴;
  4. SQLite?事務(wù)是完全兼容?ACID?的,允許從多個進程或線程安全訪問。

一、SQLite是什么

SQLite是一種嵌入式關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是一個零配置、無服務(wù)器的、自給自足的、事務(wù)性的SQL數(shù)據(jù)庫引擎。SQLite是一個輕量級的數(shù)據(jù)庫,可以在各種操作系統(tǒng)上使用,并且支持SQL語言標準。

二、SQLite可以做什么

SQLite可以用來存儲和管理大量的數(shù)據(jù),并且可以通過SQL語句來查詢和操作這些數(shù)據(jù)。它可以用于移動應(yīng)用程序、桌面應(yīng)用程序、Web應(yīng)用程序、嵌入式系統(tǒng)等等。

三、安裝依賴

Electron+vue3項目使用SQLite3數(shù)據(jù)庫,數(shù)據(jù)庫,electron,sqlite

?文章來源地址http://www.zghlxwxcb.cn/news/detail-635351.html

cnpm i sqlite3 --build-from-source

四、創(chuàng)建數(shù)據(jù)庫

在electron目錄下新建db文件夾,存放sqlite3db.js文件。

Electron+vue3項目使用SQLite3數(shù)據(jù)庫,數(shù)據(jù)庫,electron,sqlite

?

sqlite3db.js文件內(nèi)容如下:

//數(shù)據(jù)庫連接

const sqlite3 = require('sqlite3')
const NODE_ENV = process.env.NODE_ENV
const path = require('path')
const { app } = require('electron')
let DB_PATH = path.join(app.getAppPath(), '/config/text.db');

console.log('連接數(shù)據(jù)庫路徑:',app.getAppPath());
console.log('連接數(shù)據(jù)庫路徑:',DB_PATH);

// 判斷是否是正式環(huán)境
if (app.isPackaged) {
    // 正式環(huán)境
    DB_PATH = path.join(path.dirname(app.getPath('exe')), '/config/text.db');
}

//連接數(shù)據(jù)庫
function connectDatabase() {
    return new sqlite3.Database(DB_PATH, (err) => {
        if (err) {
            console.error('連接數(shù)據(jù)庫錯誤:' + err.message);
        }
        console.log('連接數(shù)據(jù)庫成功')
    });
}
const db = connectDatabase();

//創(chuàng)建數(shù)據(jù)庫,如果用戶本地沒有數(shù)據(jù)庫的話就創(chuàng)建否則跳過
function createDataTable() {
    //創(chuàng)建用戶表
    db.serialize(function () {
        db.run('create table if not exists user (id INTEGER PRIMARY KEY AUTOINCREMENT, name text, email text, phone text);');
    });
    // db.close();
} 
exports.connectDatabase = connectDatabase;
exports.createDataTable = createDataTable;
exports.db = db;

/electron/main.js里面引入sqlite3db.js文件。

const { createDataTable } = require("./db/sqlite3db.js")

執(zhí)行

createDataTable();

完整/electron/main.js

const {
	app,
	net,
	ipcMain,
	BrowserWindow
} = require('electron')
const path = require("path");
const fs = require('fs');
const { checkUpdate } = require("./updater.js")

const { createDataTable } = require("./db/sqlite3db.js")

const createWindow = () => {
	const mainWindow = new BrowserWindow({
		frame: false, //false表示去掉頂部導(dǎo)航去掉關(guān)閉按鈕最大化最小化按鈕
		width: 1366,
		height: 768,
		maxWidth: 1920,
		minWidth: 1280,
		minHeight: 600,
		backgroundColor: '#333',
		transparent: false, //是否透明
		webPreferences: {
			// 允許使用webview
			webviewTag: true,
			// false關(guān)閉CORS,支持跨域請求
			webSecurity: false,
			// 開啟渲染進程使用node,為了解決require 識別問題
			nodeIntegration: true,
			// 是否在獨立 JavaScript 環(huán)境中運行 Electron API和指定的preload 腳本.Electron 12 版本之后它將被默認true
			contextIsolation: false,
			// 允許使用remote
			enableRemoteModule: true,
			// 子進程路徑
			preload: path.join(__dirname, "./preload.js"),
		}
	})

	console.log("=====", path.join(__dirname, "./preload.js"));
	// 判斷是否是正式環(huán)境
	if (app.isPackaged) {
		// mainWindow.loadFile(`file://${path.join(__dirname, '../dist/index.html')}`); // 正式環(huán)境下加載html文件
		mainWindow.loadFile('dist/index.html')
		// mainWindow.webContents.openDevTools()
	} else {
		mainWindow.loadURL('http://127.0.0.1:3000/'); // dev環(huán)境下加載vite服務(wù)頁面
		mainWindow.webContents.openDevTools()
	}

	createDataTable();
}
app.whenReady().then(() => {
	createWindow()
	app.on('activate', () => {
		if (BrowserWindow.getAllWindows().length === 0) createWindow()
	})
})
app.on('window-all-closed', () => {
	if (process.platform !== 'darwin') {
		app.quit();
		mainWindow.close();
	}
})

五、啟動腳本,創(chuàng)建數(shù)據(jù)庫

選擇生成的text.db文件,連接可視化工具

Electron+vue3項目使用SQLite3數(shù)據(jù)庫,數(shù)據(jù)庫,electron,sqlite

?

到了這里,關(guān)于Electron+vue3項目使用SQLite3數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python - 嵌入式數(shù)據(jù)庫Sqlite3的基本使用

    SQLite是一種輕量級的嵌入式關(guān)系型數(shù)據(jù)庫管理系統(tǒng),而Python標準庫中提供了與SQLite交互的模塊,sqlite3。下面是一個Python 3中使用sqlite3模塊的詳細示例與解析。 這個例子展示了如何使用sqlite3模塊來創(chuàng)建或連接一個數(shù)據(jù)庫,創(chuàng)建一個表格,插入一些數(shù)據(jù),查詢數(shù)據(jù),提交更改并

    2024年02月15日
    瀏覽(21)
  • 嵌入式數(shù)據(jù)庫:SQLite3的安裝和使用說明

    嵌入式數(shù)據(jù)庫:SQLite3的安裝和使用說明

    目錄 一,SQLite簡介 ①?SQLite與傳統(tǒng)服務(wù)器型數(shù)據(jù)庫 ②?SQLite與MySQL比較 ③ 基于嵌入式的數(shù)據(jù)庫種類 二,SQLite數(shù)據(jù)庫安裝 ① 輸入命令安裝 ② 網(wǎng)頁安裝 ● 安裝步驟 三,SQLite命令用法 ●?創(chuàng)建一個數(shù)據(jù)庫 ●?創(chuàng)建一張表格 ●?插入一條記錄 ●?查看數(shù)據(jù)庫的記錄 ●?刪除一條

    2024年01月21日
    瀏覽(36)
  • SQLite3數(shù)據(jù)庫在Linux下的安裝+卸載+基本使用

    SQLite3數(shù)據(jù)庫在Linux下的安裝+卸載+基本使用

    SQLite是一個進程內(nèi)的輕量級嵌入式數(shù)據(jù)庫,它的數(shù)據(jù)庫就是一個文件,實現(xiàn)了自給自足、無服務(wù)器、零配置的、事務(wù)性的SQL數(shù)據(jù)庫引擎。它是一個零配置的數(shù)據(jù)庫,這就體現(xiàn)出來SQLite與其他數(shù)據(jù)庫的最大的區(qū)別:SQLite不需要在系統(tǒng)中配置,直接可以使用。且SQLite不是一個獨立

    2024年02月03日
    瀏覽(42)
  • Python數(shù)據(jù)庫模塊(sqlite3,SQLite3)

    創(chuàng)建數(shù)據(jù)庫:在控制臺sqlite3 name sqlite3.connect(database [,timeout ,other optional arguments]) 打開數(shù)據(jù)庫;如果指數(shù)據(jù)庫存在則返回一個連接對象,如果不存在則會創(chuàng)建一個數(shù)據(jù)庫; connection.cursor() 創(chuàng)建一個cursor; cursor.execute(sql) 執(zhí)行一個sql語句,該語句可以被參數(shù)化; connection.execut

    2024年03月19日
    瀏覽(27)
  • 數(shù)據(jù)庫--Sqlite3

    數(shù)據(jù)庫--Sqlite3

    ?1、思維導(dǎo)圖 ?2sqlite3在linux中是實現(xiàn)數(shù)據(jù)的增刪,改 #includemyhead.h int main(int argc, const char *argv[]) { ? ? ? ? //1、定義一個數(shù)據(jù)庫句柄指針 ? ? ? ? sqlite3* ppDb =NULL; ? ? ? ? //2、創(chuàng)建或打開數(shù)據(jù)庫 ? ? ? ? if(sqlite3_open(\\\"./mydb.db\\\",ppDb)!=SQLITE_OK) ? ? ? ? { ? ? ? ? ? ? ? ? printf(

    2024年04月27日
    瀏覽(28)
  • 02.sqlite3學(xué)習(xí)——嵌入式數(shù)據(jù)庫的基本要求和SQLite3的安裝

    02.sqlite3學(xué)習(xí)——嵌入式數(shù)據(jù)庫的基本要求和SQLite3的安裝

    目錄 嵌入式數(shù)據(jù)庫的基本要求和SQLite3的安裝 嵌入式數(shù)據(jù)庫的基本要求 常見嵌入式數(shù)據(jù)庫 sqlite3簡介 SQLite3編程接口模型 ubuntu 22.04下的SQLite安裝 (1)安裝SQLite3軟件 sudo apt-get install sqlite3 (2)安裝庫文件 sudo apt-get install libsqlite3-dev 安裝成功后輸入sqlite3查看 (3)安裝sqlite3可

    2024年02月11日
    瀏覽(29)
  • sqlite3數(shù)據(jù)庫的實現(xiàn)

    sqlite3代碼實現(xiàn)數(shù)據(jù)庫的插入、刪除、修改、退出功能

    2024年02月12日
    瀏覽(22)
  • sqlite3將詞典導(dǎo)入數(shù)據(jù)庫

    使用sqlite3代碼實現(xiàn)將詞典導(dǎo)入數(shù)據(jù)庫中

    2024年02月12日
    瀏覽(25)
  • SQlite3數(shù)據(jù)庫相關(guān)相關(guān)命令

    SQlite3數(shù)據(jù)庫相關(guān)相關(guān)命令

    1. 創(chuàng)建表格 2. 插入數(shù)據(jù) 3. 查看數(shù)據(jù)庫記錄 4. 刪除信息 5. 更新數(shù)據(jù) 6. 增加一列 7. 刪除一列 (sqlite3 不支持直接刪除一列) 1. 打開數(shù)據(jù)庫 2. 關(guān)閉數(shù)據(jù)庫 3. 錯誤信息 4. 執(zhí)行一條sql語句 5. 查詢回調(diào)函數(shù) 6. 查詢函數(shù) 小知識:如果結(jié)構(gòu)體中定義的是一級指針,那么你要定義變量取

    2024年02月16日
    瀏覽(28)
  • 嵌入式數(shù)據(jù)庫之sqlite3

    嵌入式數(shù)據(jù)庫之sqlite3

    ????????數(shù)據(jù):能夠輸入計算機并能被計算機程序識別和處理的信息集合。 ????????數(shù)據(jù)庫:數(shù)據(jù)庫是在數(shù)據(jù)庫管理系統(tǒng)管理和控制之下,存放在存儲介質(zhì)上的數(shù)據(jù)集合。 1.大型數(shù)據(jù)庫 ????????Oracle公司是最早開發(fā)關(guān)系數(shù)據(jù)庫的廠商之一,其產(chǎn)品支持最廣泛的操作

    2024年02月10日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包