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 GetAllPersons()
{
return ExecuteQuery("SELECT * FROM Person");
}
public override Person GetPersonById(int id)
{
return ExecuteQueryFirstOrDefault("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 操作。你可以根据自己的需求对这个类库进行扩展和优化。