C#怎么连接SQLite数据库 C#操作SQLite数据库教程

来源:这里教程网 时间:2026-02-21 17:36:57 作者:

用C#连接和操作SQLite数据库,核心是引入System.Data.SQLite(推荐)或Microsoft.Data.Sqlite(.NET Core/.NET 5+ 官方推荐)这两个库。不需要安装独立数据库服务,SQLite 是单文件嵌入式数据库,轻量、跨平台、零配置。

安装 SQLite 数据库驱动

根据项目类型选择:

传统 .NET Framework 项目:在 NuGet 包管理器中安装 System.Data.SQLite(含设计时支持)或 System.Data.SQLite.Core(仅运行时) .NET Core / .NET 5+ / .NET 6+ 项目:推荐安装 Microsoft.Data.Sqlite(微软官方维护,轻量、API 简洁、与 EF Core 深度集成)

以 Visual Studio 为例,右键项目 → “管理 NuGet 包” → 搜索并安装对应包即可。

连接 SQLite 数据库(字符串 + Connection 对象)

SQLite 连接字符串非常简单,主要指定数据库文件路径:

基础写法:
"Data Source=database.db"
带完整路径:
"Data Source=C:\myapp\data.db"
(Windows)或
"Data Source=/home/user/data.db"
(Linux/macOS)
首次连接会自动创建文件;若路径不存在,需确保目录已存在,否则抛异常

代码示例(使用 Microsoft.Data.Sqlite):

using Microsoft.Data.Sqlite;
var connectionString = "Data Source=app.db";
using var connection = new SqliteConnection(connectionString);
connection.Open(); // 此时才真正创建/打开文件

执行 SQL 查询与增删改操作

通过

SqliteCommand
执行命令,推荐使用参数化查询防止 SQL 注入:

查询数据(SELECT):用
ExecuteReader()
配合
SqliteDataReader
插入/更新/删除(INSERT/UPDATE/DELETE):用
ExecuteNonQuery()
,返回影响行数
单值查询(如 COUNT、MAX):用
ExecuteScalar()

示例:插入一条用户记录

using var cmd = connection.CreateCommand();
cmd.CommandText = "INSERT INTO Users (Name, Age) VALUES (@name, @age)";
cmd.Parameters.AddWithValue("@name", "张三");
cmd.Parameters.AddWithValue("@age", 28);
cmd.ExecuteNonQuery();

建表与初始化(首次运行常用)

应用启动时可检查并创建表结构(避免重复建表):

using var cmd = connection.CreateCommand();
cmd.CommandText = @"
  CREATE TABLE IF NOT EXISTS Users (
    Id INTEGER PRIMARY KEY AUTOINCREMENT,
    Name TEXT NOT NULL,
    Age INTEGER
  )";
cmd.ExecuteNonQuery();

注意:

IF NOT EXISTS
是 SQLite 支持的关键语法,能安全跳过已存在的表。

基本上就这些——连接轻量、语法标准、无需服务端。只要引用对包、路径可写、SQL 写对,就能快速上手 SQLite。不复杂但容易忽略权限和路径问题,开发时建议把 db 文件放在

AppDomain.CurrentDomain.BaseDirectory
下方便定位。

相关推荐