SQLiteHelper 是一個用于簡化 SQLite 數據庫操作的 C# 類庫。以下是一個簡單的案例分享,展示了如何使用 SQLiteHelper 進行 CRUD(創建、讀取、更新和刪除)操作。
首先,安裝 SQLiteHelper 包:
dotnet add package SQLiteHelper
然后,創建一個名為 Person
的類,表示數據庫中的人表:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
接下來,創建一個名為 DatabaseHelper
的類,繼承自 SQLiteHelper
,并定義一個名為 Person
的表:
public class DatabaseHelper : SQLiteHelper
{
public DatabaseHelper(string connectionString) : base(connectionString)
{
}
public override void CreateTable()
{
ExecuteNonQuery("CREATE TABLE IF NOT EXISTS Person (Id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT NOT NULL, Age INTEGER NOT NULL)");
}
public override List<Person> GetAllPersons()
{
return ExecuteQuery<Person>("SELECT * FROM Person");
}
public override Person GetPersonById(int id)
{
return ExecuteQueryFirstOrDefault<Person>("SELECT * FROM Person WHERE Id = ?", id);
}
public override int InsertPerson(Person person)
{
return ExecuteNonQuery("INSERT INTO Person (Name, Age) VALUES (?, ?)", person.Name, person.Age);
}
public override int UpdatePerson(Person person)
{
return ExecuteNonQuery("UPDATE Person SET Name = ?, Age = ? WHERE Id = ?", person.Name, person.Age, person.Id);
}
public override int DeletePerson(int id)
{
return ExecuteNonQuery("DELETE FROM Person WHERE Id = ?", id);
}
}
現在,你可以在你的應用程序中使用 DatabaseHelper
類進行數據庫操作:
class Program
{
static void Main(string[] args)
{
var connectionString = "Data Source=person.db;Version=3;";
using (var db = new DatabaseHelper(connectionString))
{
// 創建表
db.CreateTable();
// 插入數據
var person1 = new Person { Name = "張三", Age = 25 };
var person2 = new Person { Name = "李四", Age = 30 };
db.InsertPerson(person1);
db.InsertPerson(person2);
// 查詢數據
var allPersons = db.GetAllPersons();
foreach (var person in allPersons)
{
Console.WriteLine($"Id: {person.Id}, Name: {person.Name}, Age: {person.Age}");
}
// 更新數據
person1.Age = 26;
db.UpdatePerson(person1);
// 刪除數據
db.DeletePerson(person2.Id);
// 再次查詢數據
var updatedPersons = db.GetAllPersons();
foreach (var person in updatedPersons)
{
Console.WriteLine($"Id: {person.Id}, Name: {person.Name}, Age: {person.Age}");
}
}
}
}
這個案例展示了如何使用 SQLiteHelper 進行基本的 CRUD 操作。你可以根據自己的需求對這個類庫進行擴展和優化。