legongju.com
我们一直在努力
2024-12-23 07:37 | 星期一

c# sqlitehelper有何案例分享

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

未经允许不得转载 » 本文链接:https://www.legongju.com/article/55287.html

相关推荐

  • c#动态编译的实现原理是什么

    c#动态编译的实现原理是什么

    C# 动态编译的实现原理主要基于 .NET Framework 中的 Common Language Runtime (CLR)。CLR 是一个跨平台的运行时环境,它为 .NET 应用程序提供了内存管理、类型安...

  • c#动态编译与静态编译的区别

    c#动态编译与静态编译的区别

    C#中的动态编译和静态编译是两种不同的代码编译方式,它们在程序运行时有着本质的区别。 编译时机:静态编译是在程序运行之前将整个程序或程序集编译成机器代码的...

  • c#动态编译在实际项目中应用

    c#动态编译在实际项目中应用

    C#动态编译在实际项目中的应用主要体现在以下几个方面:
    插件系统
    动态编译技术可以用于开发插件系统,允许第三方开发者在应用程序运行时动态加载和卸...

  • c#动态编译的安全性如何保障

    c#动态编译的安全性如何保障

    C# 动态编译是一种在运行时将源代码或中间代码编译成可执行代码的技术。尽管它提供了很大的灵活性,但也可能带来一些安全问题。以下是一些建议,可以帮助确保 C#...

  • c# sqlitehelper适合新手操作吗

    c# sqlitehelper适合新手操作吗

    SQLiteHelper 是一个用于简化 SQLite 数据库操作的 C# 类库,它提供了一些基本的数据操作方法,如创建表、插入数据、更新数据、删除数据和查询数据等。对于新手来...

  • c# sqlitehelper能提升安全性吗

    c# sqlitehelper能提升安全性吗

    SQLiteHelper 是一个用于简化 SQLite 数据库操作的 C# 类库。它本身并不直接提供安全性功能,但它可以帮助你更安全地使用 SQLite 数据库。以下是一些建议,可以帮...

  • c# sqlitehelper如何优化代码

    c# sqlitehelper如何优化代码

    SQLiteHelper 是一个用于简化 SQLite 数据库操作的 C# 类库。要优化 C# SQLiteHelper 代码,可以遵循以下建议: 使用参数化查询:参数化查询可以防止 SQL 注入攻...

  • c# sqlitehelper有哪些注意事项

    c# sqlitehelper有哪些注意事项

    SQLiteHelper 是一个用于简化 SQLite 数据库操作的 C# 类库。在使用 SQLiteHelper 时,需要注意以下几点: 数据库连接管理:确保在程序结束时正确关闭数据库连接...