0

0

C# 如何使用SQLite数据库 - 轻量级嵌入式数据库的集成

星降

星降

发布时间:2025-12-30 08:28:02

|

571人浏览过

|

来源于php中文网

原创

在C#中集成SQLite推荐使用Microsoft.Data.Sqlite(.NET Core/.NET 5+首选),连接字符串指定数据库路径,需用using确保资源释放,必须使用参数化查询防SQL注入,EF Core场景则安装Microsoft.EntityFrameworkCore.Sqlite并配置UseSqlite。

c# 如何使用sqlite数据库 - 轻量级嵌入式数据库的集成

在 C# 中集成 SQLite 很简单,关键是选对库、正确配置连接,并注意线程与资源管理。SQLite 是纯文件型数据库,无需单独安装服务,适合桌面应用、小型工具或移动端(通过 Xamarin / MAUI)。

安装 SQLite 官方 NuGet 包

推荐使用官方维护的 Microsoft.Data.Sqlite(.NET Core / .NET 5+ 默认首选),它轻量、跨平台、与 EF Core 深度兼容。

  • 在项目中运行:dotnet add package Microsoft.Data.Sqlite
  • 旧项目若用 .NET Framework,可选 System.Data.SQLite,但注意需匹配 x86/x64 平台并额外部署 native dll
  • 避免混用多个 SQLite 包,容易引发加载冲突或版本不兼容

创建连接与执行基础操作

连接字符串只需指定数据库文件路径,不存在会自动创建。

  • 示例连接字符串:"Data Source=app.db"(相对路径)或 "Data Source=C:\\data\\app.db"(绝对路径)
  • using 确保连接和命令及时释放:
    using var conn = new SqliteConnection("Data Source=app.db");
    conn.Open();
    using var cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLE IF NOT EXISTS Users (Id INTEGER PRIMARY KEY, Name TEXT)";
    cmd.ExecuteNonQuery();

安全插入与查询数据(防 SQL 注入)

永远不要拼接用户输入到 SQL 字符串中。使用参数化查询是唯一可靠方式。

微购导购版(原天狼星)
微购导购版(原天狼星)

功能介绍:1.程序独立使用的MVC模式开发,程序代码与模板分离,会HTML就会做程序模板2.使用sqlite数据库,mysql数据库随便换,让您不再为购买数据库而烦恼3.增加首页数据自定义功能,导航数据自定义,快速打造属于您自己的网站4.seo伪静态设置更智能化,自定义seo规则,让蜘蛛更喜欢您的网站5.屏蔽ip访问功能5.支持一键采集功能,只要轻轻一点,上万淘宝b2c商品轻松入库,解决数据添加的

下载
  • 插入示例:cmd.CommandText = "INSERT INTO Users (Name) VALUES (@name)";
    cmd.Parameters.AddWithValue("@name", userName);
  • 查询单值:cmd.CommandText = "SELECT COUNT(*) FROM Users WHERE Name = @name";
    var count = (long)cmd.ExecuteScalar();
  • 读取多行:using var reader = cmd.ExecuteReader();
    while (reader.Read()) { Console.WriteLine(reader.GetString(1)); }

配合 Entity Framework Core 使用(推荐中大型场景)

若项目已用 EF Core,只需安装 Microsoft.EntityFrameworkCore.Sqlite,配置 DbContext 即可。

  • Startup.csProgram.cs 中注册:
    services.AddDbContext(options =>
    options.UseSqlite("Data Source=app.db"));
  • 迁移命令:dotnet ef migrations add Initdotnet ef database update
  • EF 自动处理连接生命周期、事务、连接池等细节,开发效率高且不易出错

基本上就这些。SQLite 在 C# 中用起来不复杂,但容易忽略连接释放、线程安全(默认连接非线程安全)和 WAL 模式启用等细节。小项目直接用 Microsoft.Data.Sqlite 足够,有 ORM 需求就上 EF Core SQLite 提供商。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

674

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

319

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

344

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

1084

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

355

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

671

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

564

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

408

2024.04.29

excel制作动态图表教程
excel制作动态图表教程

本专题整合了excel制作动态图表相关教程,阅读专题下面的文章了解更多详细教程。

30

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Java 教程
Java 教程

共578课时 | 39.3万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号