C#连接SQLite数据库的完整方案实用指南
平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“C#连接SQLite数据库的完整方案”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
一、需求
实际处理时,作为本地客户端,对于单用户单同时发的情况,有时候我们需将数据存储到本地,而不是存储到云端,所以这时候选择SQLite数据库作为本地数据库是最好的选择,他不需考虑平台是x86还是x64,也不需什么组件,很便于。
二、安装教程
1、安装SQLite驱动
从实现思路看,在VS2022里,右键项目->管理NuGet程序包,搜索同时安装“System.Data.SQLite.Core”,安装和就能够直接采用了。
2、新建数据库
落到代码里,能够采用Navicat新建数据库。先在项目根目录下新建一个空的文件(因为SQLite不会自动新建数据库文件,所以需手动先新建),同时命名c_test.db,我这里存放的路径是testResourcesc_test.db,test是项目根目录。
在这个场景下,由于SQLite连接时不需用户名和密码的,只需选择刚才新建好的c_test.db,连接即可。打开后会有一个名叫main的数据库,将需新建的数据表在main下新建即可。
3、连接数据库
能够在app.config里设置,也能够在操作数据库的代码里写。
下面是在代码里写。
private static readonly string connectionString =
"Data Source=" + System.IO.Path.Combine(Application.StartupPath, "c_test.db") + ";Version=3;";
至此,就能够连接SQLite数据库了。
三、将客户端打包
在这个场景下,将客户端打包成exe,只分发给客户一个独立的exe文件就行,不需把所有的文件包依赖包之类的再一块都给客户了。
1、安装Fody.Costura
在这个场景下,Fody.Costura它的主要功能就是能够单独把生成的exe拿出来,能够直接运行,比如把bin/Debug/下的1.exe,放到任何一个位置或分发给任何一个人,只需给这个exe就能够了,不需再把完整的文件夹给别人。
在这个场景下,在VS2022里,右键项目->管理NuGet程序包,搜索同时安装“Fody.Costura",安装和就能够直接采用了。
2、打包SQLite.Interop.dll动态库
SQLite.Interop.dll 是 System.Data.SQLite 的核心组件。能够把它理解为:理解这一步时,托管代码(C#)只是“壳”,真正的 SQLite 数据库引擎(C语言写的)全在这个 DLL 里。
(1)准备DLL文件
从实现思路看,在项目bindebud下新建两个文件夹,分别为costura-win-x64和costura-win-x86,找到bindebug下的x64和x86文件夹,把里面对应的SQLite.Interop.dll分别复制到costura-win-x64和costura-win-x86(32位的放进costura-win-x86,64位的放进costura-win-x64)。
(2)设置生成操作
实际处理时,在资源管理器找到“显示所有文件”图标,点击显示所有文件,就会看到刚刚存放的两个文件。分别设置他们的属性,复制到输出目录:始终复制,生成操作:嵌入的资源。
(3)修改设置文件
打开项目根目录下的FodyWeavers.xml文件,填写下面的代码
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<Costura>
<Unmanaged32Assemblies>
SQLite.Interop
</Unmanaged32Assemblies>
<Unmanaged64Assemblies>
SQLite.Interop
</Unmanaged64Assemblies>
</Costura>
</Weavers>
结合项目来看,至此,就把两个本机的SQLite.Interop.dll作为资源嵌入到主exe中,同时在程序启动时自动根据系统架构加载他们。
实际处理时,总的来说,C#连接SQLite数据库适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。
-
10.21
MongoDB导出和导入实用指南(含详细代码)实用指南
-
10.21
MongoDB与PostgreSQL两个数据库的特点详细对比指南实用指南
-
10.21
C#连接SQLite数据库的完整方案实用指南
-
10.21
OpenClaw公网访问失败怎么办?OpenClaw报错control ui requires device identity解决教学实实用指南
-
10.21
PyTorch损失函数CrossEntropyLoss用法及说明实用指南
-
10.21
Claude Code 的账号、模型与使用限制完整指南
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏