C# SQLite库使用技巧
简介
SQLite是一种轻量级关系型数据库,具有文件存储、零配置、全平台、事务支持等特点,并且不需要专门的数据库服务器。在C#开发中,SQLite可以通过第三方库System.Data.SQLite来进行使用,本文将介绍SQLite库的使用技巧。
安装System.Data.SQLite库
System.Data.SQLite是一个.NET语言封装的SQLite库,它提供了通过ADO.NET进行SQLite操作的API。要使用System.Data.SQLite,需要先安装该库。可以通过Nuget包管理器来安装,具体步骤如下:
- 打开Visual Studio,进入要使用SQLite的项目。
- 在Solution Explorer中右键单击该项目,选择“管理NuGet程序包”。
- 在打开的NuGet程序包管理器中,搜索“System.Data.SQLite”。
- 选择最新版,点击右侧的“安装”按钮,等待安装完成即可。
连接SQLite数据库
连接SQLite数据库的代码如下:
using System.Data.SQLite;
string connectionString = @"Data Source=D:\sqlite.db";
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
// do some database operations here
}
上面的代码中,使用了SQLiteConnection
类来连接SQLite数据库,其中connectionString变量用于指明数据库文件路径。
执行SQL语句
执行SQL语句的代码如下:
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
string sql = "CREATE TABLE IF NOT EXISTS users (id integer primary key, name varchar(20))";
using (var command = new SQLiteCommand(sql, connection))
{
command.ExecuteNonQuery();
}
}
上面的代码中,使用了SQLiteCommand
类来执行SQL语句,通过ExecuteNonQuery()
方法来执行DDL语句,比如创建表、插入数据等。
查询数据
查询数据的代码如下:
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
string sql = "SELECT * FROM users";
using (var command = new SQLiteCommand(sql, connection))
{
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
int id = reader.GetInt32(0);
string name = reader.GetString(1);
Console.WriteLine($"id:{id}, name:{name}");
}
}
}
}
上面的代码中,通过SQLiteCommand.ExecuteReader()
方法来执行查询语句,并且通过SQLiteDataReader
来读取查询结果。在读取结果时,可以通过GetInt32()
和GetString()
等方法来获取指定列的值。
示例
以下是两个示例,其中第一个示例演示了如何创建一个users
表并插入数据,第二个示例演示了如何查询users
表的数据。
示例1:插入数据
string connectionString = @"Data Source=D:\sqlite.db";
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
string sql = "CREATE TABLE IF NOT EXISTS users (id integer primary key, name varchar(20))";
using (var command = new SQLiteCommand(sql, connection))
{
command.ExecuteNonQuery();
}
sql = "INSERT INTO users(id, name) VALUES(1, 'John')";
using (var command = new SQLiteCommand(sql, connection))
{
command.ExecuteNonQuery();
}
}
示例2:查询数据
string connectionString = @"Data Source=D:\sqlite.db";
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
string sql = "SELECT * FROM users";
using (var command = new SQLiteCommand(sql, connection))
{
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
int id = reader.GetInt32(0);
string name = reader.GetString(1);
Console.WriteLine($"id:{id}, name:{name}");
}
}
}
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# SQLite库使用技巧 - Python技术站