一、Sqlite簡介
Sqlite是一款輕量級的、無伺服器的、自包含的、零配置的SQL資料庫引擎。它是一個開源項目,由D. Richard Hipp在1999年提出。Sqlite是一個C語言庫,可以在Android、iOS、Linux和Windows等操作系統上運行,實現了該語言資料庫引擎的大部分功能,並且使用的資源非常少。因為它的小巧、高效和跨平台特性,Sqlite在嵌入式設備、移動設備和桌面應用程序中使用非常廣泛。
二、Sqlite的安裝與配置
Sqlite的 C# 介面程序包包含在 Sqlite 官方網站上,用戶可以從該網站下載它。在安裝完 C# 介面後,將會獲得一些額外的值,如:System.Data.SQLite.dll
, sqlite3.def
和 sqlite3.dll
。下面的步驟演示了如何在 Visual Studio 項目中集成 SQLiteC#:
1、在 Visual Studio 中創建一個新的窗體應用程序工程。
2、在解決方案資源管理器中,右鍵單擊「引用」並選擇「添加引用」選項。彈出添加引用對話框之後,選擇「瀏覽」選項卡。
3、找到並選中「System.Data.SQLite.dll」程序集並單擊「添加」按鈕
using System.Data.SQLite; // 創建一個新連接 SQLiteConnection conn = new SQLiteConnection("Data Source=C:/MyDatabase.sqlite;Version=3;"); conn.Open(); // 在資料庫中進行操作 ...
三、Sqlite的基本操作
1、建立連接
要訪問 Sqlite 中的數據,我們需要創建一個 Connection 對象。創建 Connection 對象時,需要告訴它連接的資料庫的路徑以及資料庫的版本。
using System.Data.SQLite; // 創建一個新連接 SQLiteConnection conn = new SQLiteConnection("Data Source=C:/MyDatabase.sqlite;Version=3;"); conn.Open();
2、執行 SQL 語句
可以使用 SqliteCommand 類執行 SQL 命令,其構造函數需要兩個參數:要執行的 SQL 語句和資料庫連接對象。執行完命令之後,可以通過 SQLiteDataReader 對象讀取查詢結果。
using System.Data.SQLite; SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM MyTable", conn); SQLiteDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { // 根據需要讀取每一行中的數據 int id = reader.GetInt32(0); string name = reader.GetString(1); ... }
3、插入記錄
執行 INSERT 語句來插入數據到表格中。 INSERT 查詢需要 SqliteCommand 對象並用一個 VALUES 子句來指定新行的值。
using System.Data.SQLite; SQLiteCommand cmd = new SQLiteCommand("INSERT INTO MyTable (Id, Name, Age) VALUES(1, 'Tom', 32)", conn); cmd.ExecuteNonQuery();
4、更新記錄
執行 UPDATE 查詢來更新表格中的數據。 UPDATE 命令需要 SqliteCommand 對象並用 SET 子句來設置新的值。
using System.Data.SQLite; SQLiteCommand cmd = new SQLiteCommand("UPDATE MyTable SET Name='Peter' WHERE Id=1", conn); cmd.ExecuteNonQuery();
5、刪除記錄
執行 DELETE 查詢來刪除表格中的數據。 DELETE 命令需要 SqliteCommand 對象並用 WHERE 子句來定位要刪除的行。
using System.Data.SQLite; SQLiteCommand cmd = new SQLiteCommand("DELETE FROM MyTable WHERE Id=1", conn); cmd.ExecuteNonQuery();
四、Sqlite的事務管理
在 Sqlite 中,事務是一系列的 SQL 命令,多個命令可以一起被提交或回滾。Sqlite 事務從事務的起始點開始,執行一系列的 SQL 命令,最後將改變保存到資料庫中。
1、開啟事務
要開啟一個 Sqlite 事務,需要執行 BEGIN TRANSACTION 語句。例如:
using System.Data.SQLite; SQLiteCommand cmd = new SQLiteCommand("BEGIN TRANSACTION", conn); cmd.ExecuteNonQuery();
2、提交事務
要提交一個 Sqlite 事務,需要執行 COMMIT TRANSACTION 語句。例如:
using System.Data.SQLite; SQLiteCommand cmd = new SQLiteCommand("COMMIT TRANSACTION", conn); cmd.ExecuteNonQuery();
3、回滾事務
要回滾一個 Sqlite 事務,需要執行 ROLLBACK TRANSACTION 語句。例如:
using System.Data.SQLite; SQLiteCommand cmd = new SQLiteCommand("ROLLBACK TRANSACTION", conn); cmd.ExecuteNonQuery();
五、Sqlite的數據類型
SQLite 支持以下數據類型:
- NULL
- INTEGER
- REAL
- TEXT
- BLOB
六、Sqlite的性能和限制
由於 Sqlite 輕量級的特性,它的性能很高,不需要像其他資料庫一樣配置大量的內存、磁碟空間等參數。Sqlite 的唯一限制是它不適合處理大量數據。
七、總結
本文主要介紹了C#中安裝和配置Sqlite、Sqlite的基本操作、事務管理、數據類型以及其性能和限制。Sqlite的優點是它佔用的資源非常少,支持多種操作系統,使用方便準確,可以用在大部分嵌入式設備、移動設備和桌面應用程序中。總之,Sqlite是C#中非常優秀的資料庫引擎之一。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150728.html