您的位置:首页 > 手游攻略 > C#连接SQLite数据库的完整方案实用指南

C#连接SQLite数据库的完整方案实用指南

作者:互联网  时间: 2026-10-21 11:10:01  

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“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数据库适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。

最新游戏

更多

Copyright©2010-2019. All rights reserved | 波波三国游戏官网|[email protected]

备案编号:湘ICP备2022015115号-4