中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c# sqlitehelper有何案例分享

c#
小樊
81
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
中方县| 罗江县| 榆林市| 永泰县| 大石桥市| 南开区| 蒙山县| 静安区| 武威市| 来安县| 左贡县| 宣武区| 泗水县| 喜德县| 涿鹿县| 遵化市| 定州市| 多伦县| 泽州县| 安吉县| 阿城市| 遂昌县| 漠河县| 奇台县| 馆陶县| 安新县| 平泉县| 江安县| 琼结县| 弋阳县| 大港区| 商丘市| 新疆| 舟山市| 兰西县| 苗栗市| 焦作市| 东丽区| 阳新县| 简阳市| 和平区|