新闻中心
C#如何连接SQLite数据库 C# System.Data.SQLite的使用方法
使用System.Data.SQLite库可实现C#中对SQLite数据库的连接与操作。1. 通过NuGet安装System.Data.SQLite包;2. 引入using System.Data.SQLite命名空间;3. 使用SQLiteConnection类配合连接字符串(如"Data Source=example.db;Version=3;")连接或创建数据库;4. 利用SQLiteCommand执行建表、插入等SQL语句,推荐使用参数化查询防止注入;5. 通过SQLiteCommand与SQLiteDataReader读取数据;6. 多写入操作应使用SQLiteTransaction确保一致性;7. 注意平台兼容性及资源释放。该库适用于.NET Framework与.NET Core,功能完整,适合中小型项目。

在C#中连接和操作SQLite数据库,最常用的方式是使用 System.Data.SQLite 库。它是一个开源的 ADO.NET 数据提供程序,专为 SQLite 设计,支持 .NET Framework 和 .NET Core/.NET 5+。以下是详细的使用方法。
1. 安装 System.Data.SQLite
要使用 System.Data.sqlite,你需要先安装对应的 NuGet 包:
打开 Visual Studio → 右键项目 → 管理 NuGet 程序包 → 搜索并安装 System.Data.SQLite或者通过 NuGet 包管理器控制台运行命令:
Install-Package System.Data.SQLite
安装后会自动添加对 System.Data.SQLite.dll 的引用。
2. 引入命名空间
在代码文件顶部引入必要的命名空间:
using System.Data.SQLite;
3. 连接 SQLite 数据库
使用 SQLiteConnection 类来建立数据库连接。如果数据库文件不存在,可以自动创建。
Motiff妙多
Motiff妙多是一款AI驱动的界面设计工具,定位为“AI时代设计工具”
334
查看详情
示例:连接到本地数据库文件(若不存在则创建)
string connectionString = "Data Source=example.db;Version=3;New=True;Compress=True;";
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
Console.WriteLine("数据库连接成功!");
}
常见连接字符串参数说明:
- Data Source=example.db:指定数据库文件路径
-
Version=3:使用 SQ
Lite3 版本 - New=True:强制创建新数据库(可配合其他参数使用)
- FailIfMissing=False:文件不存在时不报错(默认会尝试创建)
4. 创建表并插入数据
使用 SQLiteCommand 执行 SQL 语句。
using (var connection = new SQLiteConnection("Data Source=test.db;Version=3;"))
{
connection.Open();
// 创建表
string createTableSql = "CREATE TABLE IF NOT EXISTS Users (Id INTEGER PRIMARY KEY, Name TEXT, Age INTEGER)";
using (var cmd = new SQLiteCommand(createTableSql, connection))
{
cmd.ExecuteNonQuery();
}
// 插入数据
string insertSql = "INSERT INTO Users (Name, Age) VALUES (@name, @age)";
using (var cmd = new SQLiteCommand(insertSql, connection))
{
cmd.Parameters.AddWithValue("@name", "张三");
cmd.Parameters.AddWithValue("@age", 25);
cmd.ExecuteNonQuery();
}
}
5. 查询数据
使用 SQLiteCommand 配合 SQLiteDataReader 读取查询结果。
string selectSql = "SELECT Id, Name, Age FROM Users";
using (var cmd = new SQLiteCommand(selectSql, connection))
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
int id = reader.GetInt32("Id");
string name = reader.GetString("Name");
int age = reader.GetInt32("Age");
Console.WriteLine($"ID: {id}, 姓名: {name}, 年龄: {age}");
}
}
6. 使用事务处理
对于多条写入操作,建议使用事务确保数据一致性。
using (var transaction = connection.BeginTransaction())
{
try
{
var cmd = connection.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "INSERT INTO Users (Name, Age) VALUES ('李四', 30)";
cmd.ExecuteNonQuery();
cmd.CommandText = "INSERT INTO Users (Name, Age) VALUES ('王五', 28)";
cmd.ExecuteNonQuery();
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
7. 注意事项
- 确保目标机器上有正确的运行时支持(x86/x64),System.Data.SQLite 内部依赖原生库
- 在 .NET Core 或跨平台项目中,也可考虑使用 Microsoft.Data.Sqlite(轻量且跨平台友好)
- 避免拼接 SQL 字符串,始终使用参数化查询防止 SQL 注入
- 使用 using 语句确保连接和命令对象被正确释放
以上就是C#如何连接SQLite数据库 C# System.Data.SQLite的使用方法的详细内容,更多请关注其它相关文章!
# 上有
# 福建营销推广商家公司
# 新媒体推广营销模块
# 网站优化seo培训课程
# 开封网站关键词优化工具
# 嘉兴seo顾问
# 西安seo技术专注乐云seo
# 网络营销如何在网上推广
# 推广营销怎么做最好
# 白色营销推广推荐怎么写
# 松岗网站推广招聘
# 它是
# 右键
# c#
# 适用于
# 推荐使用
# 迭代
# 不存在
# 数据库文件
# 如何使用
# 遍历
# .net
# sql语句
# microsoft
# ai
# sqlite
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
如何有效阻止外部脚本意外修改内联样式的高度属性
学习通网页版官方登录 超星学习通电脑端入口指南
微信群消息显示延迟如何解决 微信群消息刷新优化方法
微信网页版扫码登录入口 微信网页版二维码登录入口
解决 Express.js 中 PUT 请求密码修改失败的路由配置指南
高德地图公交到站提醒失败如何解决 高德提醒权限设置
PHP 枚举:根据字符串获取枚举案例的策略与实现
Mac怎么锁定备忘录_Mac备忘录加密设置教程
Yandex搜索引擎官方地址 俄罗斯网络世界的主要入口
LINQ to XML为何解析失败? 深入理解C# XDocument的异常处理
Node.js 中使用 node-cron 实现定时 API 数据抓取与处理
单射、满射与双射的关系 一文理清所有逻辑
铃兰之剑为这和平的世界希里技能组及加点推荐
Python多版本共存与虚拟环境管理深度指南
LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置
漫蛙官网正版漫画入口 漫蛙2官方网页登录地址
taptap防沉迷怎么解除 taptap解除健康系统限制说明【2025最新】
在J*a项目里如何构建对象之间的契约_接口约束的实际落地
限制HTML日期输入框的日期选择范围
HTML5原生日期选择器与jQuery UI:实现日期选择器的联动与程序化控制
J*a实现学校排课程序_面向对象结构化项目示例
Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法
vivo浏览器自带的下载器速度慢怎么办 vivo浏览器提升文件下载速度的技巧
文心一言怎样用批量生成做多版文案_文心一言用批量生成做多版文案【批量创作】
葱吃多了会怎样 葱吃多了会伤胃吗
探索高级语言到C/C++的转译路径:以Go为例及内存管理策略
迅雷下载到U盘速度很慢怎么办_迅雷U盘下载慢优化方法
c++ dfs和bfs代码 c++深度广度优先搜索算法
TikTok国际版官网直达_TikTok国际版官网直达进入在线观看
韩剧圈正版入口页面_韩剧圈官网登录链接
品牌机怎么重装系统 联想/戴尔/惠普笔记本恢复出厂系统教程
CSS Flexbox与媒体查询:实现响应式布局中元素的并排与堆叠
outlook中文官网入口地址 outlook官方中文版直达首页链接
如何使用 Excel 发布器与 Power BI 分享 Excel 洞察
php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】
怎么在html里运行vbs脚本_html中运行vbs脚本方法【教程】
React/Next.js中实现列表项的动态选择与移动
将HTML动态表格多行数据保存到Google Sheet的教程
Bilibili动漫最新防封地址发布-Bilibili动漫2025年最稳正版入口推荐
J*aScript类型检查_j*ascript代码规范
Go语言中高效处理x-www-form-urlencoded表单数据
提升屏幕阅读器对“m”时间单位的播报准确性:HTML与CSS组合解决方案
Shopware订单对象中获取产品自定义字段的正确方法
mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析
Django模型中自动计算可用余额的实现方法
免费抖音短视频入口_抖音网页版短视频免费通道
QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口
离线运行Go语言之旅:本地部署与GOPATH配置指南
怎么去除衣服上的口红印_生活小妙招教你用酒精轻松擦除
海棠电脑版入口_通过电脑访问海棠官网阅读


2025-11-26
浏览次数:次
返回列表
Lite3 版本