System.Data.SQLite
库。通过NuGet安装该包,然后在代码中使用SQLiteConnection
和SQLiteCommand
类连接和操作数据库。在C#中嵌入SQLite数据库是一种非常常见的需求,尤其是在开发桌面应用程序或小型项目时,SQLite是一个轻量级的、嵌入式的关系型数据库,它非常适合这种应用场景,下面详细介绍如何在C#项目中嵌入SQLite数据库。
安装SQLite和相关库
1、安装Visual Studio:确保你已经安装了Visual Studio,这是进行C#开发的集成开发环境(IDE)。
2、安装SQLite NuGet包:
打开你的解决方案。
右键点击解决方案资源管理器中的项目,选择“管理NuGet程序包”。
搜索“System.Data.SQLite”,然后点击“安装”。
3、引用命名空间:在你的C#代码文件中添加以下命名空间引用:
using System.Data.SQLite;
创建和连接数据库
1、创建SQLite数据库文件:可以通过SQLite命令行工具或者直接在代码中创建。
string connectionString = "Data Source=mydatabase.db;Version=3;"; using (var connection = new SQLiteConnection(connectionString)) { connection.Open(); IDbCommand dbcmd = connection.CreateCommand(); string sql = "CREATE TABLE IF NOT EXISTS Highscores (name TEXT, score INTEGER)"; dbcmd.CommandText = sql; dbcmd.ExecuteNonQuery(); dbcmd.Dispose(); connection.Close(); }
2、连接到数据库:通过SQLiteConnection对象来连接数据库。
string connectionString = "Data Source=mydatabase.db;Version=3;"; using (var connection = new SQLiteConnection(connectionString)) { connection.Open(); // Your database operations here connection.Close(); }
执行SQL查询和更新
1、执行SELECT查询:
string connectionString = "Data Source=mydatabase.db;Version=3;"; using (var connection = new SQLiteConnection(connectionString)) { connection.Open(); IDbCommand dbcmd = connection.CreateCommand(); string sql = "SELECT * FROM Highscores"; dbcmd.CommandText = sql; using (IDataReader reader = dbcmd.ExecuteReader()) { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader["name"], reader["score"])); } } connection.Close(); }
2、执行INSERT操作:
string connectionString = "Data Source=mydatabase.db;Version=3;"; using (var connection = new SQLiteConnection(connectionString)) { connection.Open(); IDbCommand dbcmd = connection.CreateCommand(); string sql = "INSERT INTO Highscores (name, score) VALUES (@name, @score)"; dbcmd.CommandText = sql; dbcmd.Parameters.Add(new SQLiteParameter("@name", name)); dbcmd.Parameters.Add(new SQLiteParameter("@score", score)); dbcmd.ExecuteNonQuery(); connection.Close(); }
3、执行UPDATE操作:
string connectionString = "Data Source=mydatabase.db;Version=3;"; using (var connection = new SQLiteConnection(connectionString)) { connection.Open(); IDbCommand dbcmd = connection.CreateCommand(); string sql = "UPDATE Highscores SET score = @newscore WHERE name = @name"; dbcmd.CommandText = sql; dbcmd.Parameters.Add(new SQLiteParameter("@name", name)); dbcmd.Parameters.Add(new SQLiteParameter("@newscore", newScore)); dbcmd.ExecuteNonQuery(); connection.Close(); }
4、执行DELETE操作:
string connectionString = "Data Source=mydatabase.db;Version=3;"; using (var connection = new SQLiteConnection(connectionString)) { connection.Open(); IDbCommand dbcmd = connection.CreateCommand(); string sql = "DELETE FROM Highscores WHERE name = @name"; dbcmd.CommandText = sql; dbcmd.Parameters.Add(new SQLiteParameter("@name", name)); dbcmd.ExecuteNonQuery(); connection.Close(); }
示例表格:Highscores表结构
字段名 | 数据类型 | 说明 |
name | TEXT | 玩家名称 |
score | INTEGER | 玩家得分 |
常见问题及解答(FAQs)
Q1: SQLite数据库文件在哪里生成?<br>
A1: SQLite数据库文件会在你指定的路径下生成,默认情况下是项目的输出目录(如bin/Debug或bin/Release),如果你没有指定完整路径,它会在当前工作目录下生成。"Data Source=mydatabase.db"会在当前工作目录下生成一个名为"mydatabase.db"的文件。
Q2: 如何确保SQLite数据库文件在部署时包含在应用程序中?<br>
A2: 你可以在项目属性中设置SQLite数据库文件的“生成操作”为“内容”,并将其“复制到输出目录”设置为“始终复制”或“如果较新则复制”,这样,SQLite数据库文件将在构建时被复制到输出目录,并随应用程序一起部署,你还可以使用相对路径来引用数据库文件,以确保它在运行时能够正确找到。
小编有话说
嵌入SQLite数据库到C#项目中是一个简单而高效的方法,尤其适合开发桌面应用程序和小型项目,通过使用NuGet包管理器安装System.Data.SQLite,开发者可以方便地在C#项目中使用SQLite,无论是创建数据库、执行查询还是更新数据,都可以通过简单的几行代码实现,希望这篇文章能帮助你快速上手在C#中嵌入SQLite数据库的开发。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1483468.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复