SQLite 是一款轻量级的关系型数据库,广泛应用于桌面、移动和嵌入式应用中。C 作为一种流行的编程语言,与 SQLite 的集成非常方便,可以轻松实现数据存储与查询。本文将详细介绍如何使用 C 与 ...
SQLite 是一款轻量级的关系型数据库,广泛应用于桌面、移动和嵌入式应用中。C# 作为一种流行的编程语言,与 SQLite 的集成非常方便,可以轻松实现数据存储与查询。本文将详细介绍如何使用 C# 与 SQLite 数据库进行高效集成,帮助开发者更好地管理数据。
SQLite 是一个开源的数据库引擎,其核心是一个单文件数据库,这意味着所有的数据都存储在一个文件中。SQLite 具有以下特点:
在 Visual Studio 中,可以通过 NuGet 包管理器安装 SQLite 的 NuGet 包。在“包管理器”窗口中,搜索 System.Data.SQLite 并安装。
Install-Package System.Data.SQLite使用 System.Data.SQLite 提供的 SQLiteConnection 类来连接 SQLite 数据库。以下是一个简单的示例:
using System.Data.SQLite;
string connectionString = "Data Source=yourDatabase.db;Version=3;";
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{ connection.Open(); // 执行查询
}使用 System.Data.SQLite 提供的 SQLiteCommand 类来执行 SQL 语句。以下是一个创建表和查询数据的示例:
using System.Data.SQLite;
string connectionString = "Data Source=yourDatabase.db;Version=3;";
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{ connection.Open(); using (SQLiteCommand command = new SQLiteCommand(connection)) { command.CommandText = "CREATE TABLE IF NOT EXISTS Employees (Id INTEGER PRIMARY KEY, Name TEXT, Age INTEGER)"; command.ExecuteNonQuery(); command.CommandText = "SELECT * FROM Employees"; using (SQLiteDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"Id: {reader["Id"]}, Name: {reader["Name"]}, Age: {reader["Age"]}"); } } }
}为了防止 SQL 注入攻击,建议使用参数化查询。以下是一个参数化查询的示例:
using System.Data.SQLite;
string connectionString = "Data Source=yourDatabase.db;Version=3;";
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{ connection.Open(); using (SQLiteCommand command = new SQLiteCommand(connection)) { command.CommandText = "SELECT * FROM Employees WHERE Name = @Name"; command.Parameters.AddWithValue("@Name", "张三"); using (SQLiteDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"Id: {reader["Id"]}, Name: {reader["Name"]}, Age: {reader["Age"]}"); } } }
}通过本文的介绍,相信您已经对 SQLite 数据库与 C# 的集成有了更深入的了解。在实际开发过程中,合理利用 SQLite 数据库可以大大提高数据管理效率,让编程更简单。希望本文对您的开发工作有所帮助。