C#连接SQLite数据库需根据项目类型选择System.Data.SQLite(.NET Framework)或Microsoft.Data.Sqlite(.NET Core+),连接字符串为"Data Source=xxx.db",首次连接自动创建文件,使用SqliteCommand配合参数化查询执行CRUD操作,并用CREATE TABLE IF NOT EXISTS安全建表。

用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 注入:
本文档主要讲述的是Android架构基本知识;Android依赖Linux内核2.6来提供核心服务,比如进程管理、网络协议栈、硬件驱动。在这里,Linux内核作为硬件层和系统软件栈层之间的一个抽象层。这个操作系统并非类GNU/Linux的,因为其系统库,系统初始化和编程接口都和标准的Linux系统是有所不同的。 Android 包含一些C/C++库、媒体库、数据库引擎库等等,这些库能被Android系统中不同的组件使用,通过 Android 应用程序框架为开发者提供服务。希望本文档会给有需要的朋友带来帮助
-
查询数据(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 下方便定位。









