3 个版本
0.4.4 | 2024 年 4 月 19 日 |
---|---|
0.4.2 | 2024 年 3 月 23 日 |
0.4.1 | 2024 年 3 月 21 日 |
762 在 数据库接口
每月下载量 195
28KB
598 行
Tauri 插件 Rusqlite
此插件允许在 Tauri 应用程序中访问 SQLite 数据库。它灵感来自 tauri-plugin-sqlite 插件,但基于 rusqlite。
示例
- 完整示例在: https://github.com/kessdev/tauri-plugin-rusqlite/tree/main/examples/rusqlite-demo
- 在您的终端中执行以下命令
npm run tauri dev
安装
Rust
-
进入项目结构中的
src-tauri
目录。 -
执行以下命令将 tauri-plugin-rusqlite 添加到项目依赖项
cargo add tauri-plugin-rusqlite
- 打开位于项目
src-tauri/src
目录中的main.rs
文件。修改main
函数以包含插件初始化代码。
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_rusqlite::init()) // add this
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
Webview
-
导航到源代码的根目录。
-
在您的终端中执行以下命令
npm i tauri-plugin-rusqlite-api
用法
导入插件
import Rusqlite from 'tauri-plugin-rusqlite-api'
打开数据库
const database = await Rusqlite.openInMemory("test.db");
或
const database = await Rusqlite.openInPath("./folder/test.db");
初始化数据库
let scripts = [{
name: "create_table",
sql: "CREATE TABLE test (id INTEGER PRIMARY KEY, integer_value INTEGER, real_value REAL, text_value TEXT, blob_value BLOB); CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT NOT NULL);"
}];
await database.migration(scripts);
或
await database.batch(
"CREATE TABLE test (id INTEGER PRIMARY KEY, integer_value INTEGER, real_value REAL, text_value TEXT, blob_value BLOB); CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT NOT NULL);");
删除表
await database.batch("DROP TABLE test;");
插入或更新
await database.update("INSERT INTO test (integer_value, real_value, text_value, blob_value) VALUES (:integer_value, :real_value, :text_value, :blob_value)",
new Map([
[":integer_value", parseInt(target.integer_value.value)],
[":real_value", parseFloat(target.real_value.value)],
[":text_value", target.text_value.value],
[":blob_value", target.blob_value.value]
]));
选择
let result = await database.select("SELECT * FROM test", new Map());
...
result.map((item) => {
return {
id: item.id,
...
};
});
关闭数据库
await database.close();
许可证
依赖项
41–84MB ~
~1.5M SLoC