首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[SQLite]掌握SQLite,轻松实现C#高效数据库开发

发布于 2025-06-23 18:18:07
0
1229

SQLite 是一个轻量级的数据库引擎,它以其小巧的体积、高效的性能和跨平台的特点在嵌入式系统和移动应用中非常受欢迎。在 C 开发中,使用 SQLite 可以帮助开发者轻松实现高效的数据存储和访问。本...

SQLite 是一个轻量级的数据库引擎,它以其小巧的体积、高效的性能和跨平台的特点在嵌入式系统和移动应用中非常受欢迎。在 C# 开发中,使用 SQLite 可以帮助开发者轻松实现高效的数据存储和访问。本文将详细介绍如何在 C# 中使用 SQLite,包括环境搭建、数据库操作、高级特性等。

一、环境搭建

1. 安装 SQLite

首先,需要在你的开发环境中安装 SQLite。由于 SQLite 是一个纯 C 语言库,因此可以通过 NuGet 包管理器轻松安装。在 Visual Studio 中,可以通过以下步骤安装:

  1. 打开 Visual Studio。
  2. 在菜单栏选择“工具” -> “NuGet 包管理器” -> “包管理器控制台”。
  3. 输入以下命令安装 SQLite NuGet 包:
Install-Package System.Data.SQLite

2. 添加引用

安装完成后,需要在你的 C# 项目中添加对 System.Data.SQLite 的引用。在 Visual Studio 中,可以通过以下步骤添加:

  1. 在解决方案资源管理器中,找到你的项目。
  2. 右键点击项目,选择“添加” -> “引用”。
  3. 在弹出的窗口中,找到 System.Data.SQLite,点击“添加”。

二、数据库操作

1. 连接数据库

使用 SQLite 进行数据库操作,首先需要建立与数据库的连接。以下是一个简单的示例:

using System.Data.SQLite;
class Program
{ static void Main() { string connectionString = "Data Source=mydatabase.db;Version=3;"; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); // 执行数据库操作 connection.Close(); } }
}

2. 创建表

创建表是数据库操作的基础。以下是一个创建表的示例:

using System.Data.SQLite;
class Program
{ static void Main() { string connectionString = "Data Source=mydatabase.db;Version=3;"; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("CREATE TABLE IF NOT EXISTS Users (Id INTEGER PRIMARY KEY, Name TEXT, Age INTEGER)", connection)) { command.ExecuteNonQuery(); } connection.Close(); } }
}

3. 插入数据

插入数据是数据库操作的重要部分。以下是一个插入数据的示例:

using System.Data.SQLite;
class Program
{ static void Main() { string connectionString = "Data Source=mydatabase.db;Version=3;"; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("INSERT INTO Users (Name, Age) VALUES ('张三', 20)", connection)) { command.ExecuteNonQuery(); } connection.Close(); } }
}

4. 查询数据

查询数据是数据库操作的核心。以下是一个查询数据的示例:

using System.Data.SQLite;
class Program
{ static void Main() { string connectionString = "Data Source=mydatabase.db;Version=3;"; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("SELECT * FROM Users WHERE Age > 18", connection)) { using (SQLiteDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"Id: {reader["Id"]}, Name: {reader["Name"]}, Age: {reader["Age"]}"); } } } connection.Close(); } }
}

5. 更新数据

更新数据是数据库操作的重要部分。以下是一个更新数据的示例:

using System.Data.SQLite;
class Program
{ static void Main() { string connectionString = "Data Source=mydatabase.db;Version=3;"; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("UPDATE Users SET Age = 21 WHERE Name = '张三'", connection)) { command.ExecuteNonQuery(); } connection.Close(); } }
}

6. 删除数据

删除数据是数据库操作的重要部分。以下是一个删除数据的示例:

using System.Data.SQLite;
class Program
{ static void Main() { string connectionString = "Data Source=mydatabase.db;Version=3;"; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("DELETE FROM Users WHERE Name = '张三'", connection)) { command.ExecuteNonQuery(); } connection.Close(); } }
}

三、高级特性

1. 事务处理

事务处理是数据库操作中的重要特性,可以保证数据的完整性和一致性。以下是一个事务处理的示例:

using System.Data.SQLite;
class Program
{ static void Main() { string connectionString = "Data Source=mydatabase.db;Version=3;"; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); using (SQLiteTransaction transaction = connection.BeginTransaction()) { using (SQLiteCommand command = new SQLiteCommand("INSERT INTO Users (Name, Age) VALUES ('李四', 22)", connection, transaction)) { command.ExecuteNonQuery(); } using (SQLiteCommand command = new SQLiteCommand("UPDATE Users SET Age = 23 WHERE Name = '李四'", connection, transaction)) { command.ExecuteNonQuery(); } transaction.Commit(); } connection.Close(); } }
}

2. 存储过程

存储过程是数据库操作的高级特性,可以将常用的数据库操作封装成函数。以下是一个存储过程的示例:

using System.Data.SQLite;
class Program
{ static void Main() { string connectionString = "Data Source=mydatabase.db;Version=3;"; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("CREATE PROCEDURE GetUsers(IN Name TEXT) BEGIN SELECT * FROM Users WHERE Name = Name; END", connection)) { command.ExecuteNonQuery(); } using (SQLiteCommand command = new SQLiteCommand("CALL GetUsers('张三')", connection)) { using (SQLiteDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"Id: {reader["Id"]}, Name: {reader["Name"]}, Age: {reader["Age"]}"); } } } connection.Close(); } }
}

四、总结

通过本文的介绍,相信你已经掌握了在 C# 中使用 SQLite 进行数据库开发的基本方法和高级特性。在实际开发过程中,你可以根据自己的需求灵活运用这些知识和技巧,实现高效、稳定的数据库操作。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流