温馨提示×

c# sqlitehelper有何案例分享

c#
小樊
83
2024-11-27 04:50:41
栏目: 云计算

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 操作。你可以根据自己的需求对这个类库进行扩展和优化。

0