下面是“SQLite之C#版System.Data.SQLite使用方法”的完整攻略,包含了使用方法和两条示例。
概述
SQLite 是一款轻量级的关系型数据库,不需要服务器就可以运行。而 System.Data.SQLite 则是 SQLite 的 C# 封装库,它提供了对 SQLite 数据库的访问和管理。
在本篇攻略中,我将介绍如何使用 System.Data.SQLite 操作 SQLite 数据库。包括如何安装、创建数据库、创建表、插入数据、查询数据、更新数据、删除数据等操作。
安装
首先需要安装 System.Data.SQLite 库。可以通过 NuGet 包管理器来安装:
- 打开 Visual Studio,打开你的项目。
- 在解决方案资源管理器中,右键单击项目,选择“管理 NuGet 包...”
- 在“NuGet 包管理器”窗口中,搜索 System.Data.SQLite。
- 选择 System.Data.SQLite,安装最新版本即可。
创建数据库
创建一个 SQLite 数据库,可以通过以下代码:
using System.Data.SQLite;
// 设置连接字符串
string connectionString = "Data Source=mydatabase.db;Version=3;";
// 创建空的数据库文件
SQLiteConnection.CreateFile("mydatabase.db");
// 创建连接
using (var connection = new SQLiteConnection(connectionString))
{
// 打开连接
connection.Open();
// 创建表
using (var command = new SQLiteCommand("CREATE TABLE users(id INTEGER PRIMARY KEY, name VARCHAR(50), age INTEGER);", connection))
{
command.ExecuteNonQuery();
}
// 关闭连接
connection.Close();
}
上述代码中,我们首先设置了连接字符串,然后创建了一个空的数据库文件。接着创建连接,通过在连接上使用 SQL 命令来创建了一个名为 users
的表。最后关闭连接。
插入数据
向 SQLite 数据库中插入数据,可以通过以下代码:
using System.Data.SQLite;
// 设置连接字符串
string connectionString = "Data Source=mydatabase.db;Version=3;";
// 创建连接
using (var connection = new SQLiteConnection(connectionString))
{
// 打开连接
connection.Open();
// 插入一条数据
using (var command = new SQLiteCommand("INSERT INTO users(id, name, age) VALUES (1, '张三', 20);", connection))
{
command.ExecuteNonQuery();
}
// 关闭连接
connection.Close();
}
上述代码中,我们首先设置了连接字符串,然后创建连接。接着在连接上使用 SQL 命令插入了一条数据,这里插入了一个名为 张三
,年龄为 20
的人的数据。最后关闭连接。
查询数据
从 SQLite 数据库中查询数据,可以通过以下代码:
using System.Data.SQLite;
// 设置连接字符串
string connectionString = "Data Source=mydatabase.db;Version=3;";
// 创建连接
using (var connection = new SQLiteConnection(connectionString))
{
// 打开连接
connection.Open();
// 查询所有数据
using (var command = new SQLiteCommand("SELECT id, name, age FROM users;", connection))
{
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
int id = reader.GetInt32(0);
string name = reader.GetString(1);
int age = reader.GetInt32(2);
Console.WriteLine($"id:{id},name:{name},age:{age}");
}
}
}
// 关闭连接
connection.Close();
}
上述代码中,我们首先设置了连接字符串,然后创建连接。接着在连接上使用 SQL 命令查询了 users
表中的所有数据。使用 ExecuteReader
方法执行命令并将结果返回。然后循环遍历所有结果并打印出来。最后关闭连接。
示例
下面是一个简单的示例:
using System;
using System.Data.SQLite;
namespace SQLiteDemo
{
class Program
{
static void Main(string[] args)
{
// 设置连接字符串
string connectionString = "Data Source=mydatabase.db;Version=3;";
// 创建空的数据库文件
SQLiteConnection.CreateFile("mydatabase.db");
// 创建连接
using (var connection = new SQLiteConnection(connectionString))
{
// 打开连接
connection.Open();
// 创建表
using (var command = new SQLiteCommand("CREATE TABLE users(id INTEGER PRIMARY KEY, name VARCHAR(50), age INTEGER);", connection))
{
command.ExecuteNonQuery();
}
// 插入一条数据
using (var command = new SQLiteCommand("INSERT INTO users(id, name, age) VALUES (1, '张三', 20);", connection))
{
command.ExecuteNonQuery();
}
// 查询所有数据
using (var command = new SQLiteCommand("SELECT id, name, age FROM users;", connection))
{
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
int id = reader.GetInt32(0);
string name = reader.GetString(1);
int age = reader.GetInt32(2);
Console.WriteLine($"id:{id},name:{name},age:{age}");
}
}
}
// 关闭连接
connection.Close();
}
Console.ReadLine();
}
}
}
上述示例中,我们首先设置了连接字符串,然后创建了一个空的数据库文件。接着创建连接,通过在连接上使用 SQL 命令来创建了一个名为 users
的表。然后插入了一个名为 张三
,年龄为 20
的人的数据。最后查询了 users
表中的所有数据,并打印出来。最终关闭连接。
另一个示例:
using System;
using System.Data.SQLite;
namespace SQLiteDemo
{
class Program
{
static void Main(string[] args)
{
// 设置连接字符串
string connectionString = "Data Source=mydatabase.db;Version=3;";
// 创建空的数据库文件
SQLiteConnection.CreateFile("mydatabase.db");
// 创建连接
using (var connection = new SQLiteConnection(connectionString))
{
// 打开连接
connection.Open();
// 创建表
using (var command = new SQLiteCommand("CREATE TABLE users(id INTEGER PRIMARY KEY, name VARCHAR(50), age INTEGER);", connection))
{
command.ExecuteNonQuery();
}
// 插入多条数据
using (var transaction = connection.BeginTransaction())
{
for (int i = 1; i <= 10; i++)
{
using (var command = new SQLiteCommand(connection))
{
command.CommandText = "INSERT INTO users(id, name, age) VALUES (@id, @name, @age);";
command.Parameters.AddWithValue("@id", i);
command.Parameters.AddWithValue("@name", $"用户{i}");
command.Parameters.AddWithValue("@age", i * 10);
command.ExecuteNonQuery();
}
}
transaction.Commit();
}
// 查询所有数据
using (var command = new SQLiteCommand("SELECT id, name, age FROM users;", connection))
{
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
int id = reader.GetInt32(0);
string name = reader.GetString(1);
int age = reader.GetInt32(2);
Console.WriteLine($"id:{id},name:{name},age:{age}");
}
}
}
// 关闭连接
connection.Close();
}
Console.ReadLine();
}
}
}
上述示例中,我们首先设置了连接字符串,然后创建了一个空的数据库文件。接着创建连接,通过在连接上使用 SQL 命令来创建了一个名为 users
的表。然后使用事务插入了 10 条数据。使用 BeginTransaction
开启一个事务,然后使用 ExecuteNonQuery
插入数据,并最终通过 Commit
提交事务。最后查询了 users
表中的所有数据,并打印出来。最终关闭连接。
结论
通过本攻略的介绍,我们学会了如何使用 System.Data.SQLite 来操作 SQLite 数据库。包括了创建数据库、创建表、插入数据、查询数据、更新数据、删除数据等操作。同时,我们也看到了两条使用实例。使用 System.Data.SQLite,我们可以快速的操作 SQLite 数据库,完成简单的数据存储工作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQLite之C#版 System.Data.SQLite使用方法 - Python技术站