使用C#编写Winform应用程序时,我们需要使用SQLite数据库。但是,当我们下载SQLite二进制文件时,我们会发现有两种不同的二进制文件选项:Precompiled Binaries for 64-bit Windows (.NET Framework 4.6)和Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.6)。那么,我们应该选择哪种呢?它们有什么区别?

首先,让我们来了解一下这两种SQLite二进制文件的区别。

Precompiled Binaries for 64-bit Windows (.NET Framework 4.6)

这种二进制文件是动态链接的,也就是说,它需要.NET Framework 4.6或更高版本才能运行。这意味着,如果您的应用程序需要在多个计算机上运行,那么您需要在每台计算机上安装.NET Framework 4.6或更高版本。

Precompiled Binaries是动态链接库,需要在运行时动态加载。而Precompiled Statically-Linked Binaries是静态链接库,它们被编译到应用程序中,因此不需要在运行时动态加载。

Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.6)

这种二进制文件是静态链接的,也就是说,它包含了.NET Framework 4.6的所有必要组件,因此不需要在计算机上安装.NET Framework 4.6或更高版本。这使得它成为一个更加独立和可移植的解决方案,这个版本更方便。

那么,我们应该选择哪种SQLite二进制文件呢?这取决于您的具体需求。如果您的应用程序只需要在单个计算机上运行,那么您可以选择Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.6),因为它更加独立和可移植。但是,如果您的应用程序需要在多个计算机上运行,那么您可能需要选择Precompiled Binaries for 64-bit Windows (.NET Framework 4.6),因为它需要.NET Framework 4.6或更高版本,这些版本通常已经在大多数计算机上安装了。

无论您选择哪种SQLite二进制文件,都需要确保它与您的应用程序兼容,并且您已经正确地将其集成到您的应用程序中。以下是一个使用SQLite数据库的C#代码示例:

using System.Data.SQLite;// 创建一个SQLite连接
SQLiteConnection connection = new SQLiteConnection("Data Source=database.db");// 打开连接
connection.Open();// 创建一个SQLite命令
SQLiteCommand command = new SQLiteCommand("SELECT * FROM users", connection);// 执行命令并获取结果
SQLiteDataReader reader = command.ExecuteReader();// 遍历结果集
while (reader.Read())
{// 获取每一行的数据int id = reader.GetInt32(0);string name = reader.GetString(1);int age = reader.GetInt32(2);// 处理数据Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", id, name, age);
}// 关闭连接
connection.Close();

在这个示例中,我们使用了System.Data.SQLite命名空间中的类来连接和查询SQLite数据库。请注意,您需要在项目中添加对System.Data.SQLite.dll的引用,并将SQLite二进制文件正确地集成到您的应用程序中。

总之,选择哪种SQLite二进制文件取决于您的具体需求。如果您需要一个更加独立和可移植的解决方案,那么您可以选择Precompiled Statically。

sqlite-netFx46-static-binary-bundle和sqlite-netFx46-static-binary区别:

sqlite-netFx46-static-binary-bundle和sqlite-netFx46-static-binary都是Precompiled Statically-Linked Binaries的版本。它们的区别在于sqlite-netFx46-static-binary-bundle包含了所有的依赖项,而sqlite-netFx46-static-binary只包含了SQLite库。

如果您的应用程序需要使用SQLite以外的依赖项,那么您应该选择sqlite-netFx46-static-binary-bundle。否则,您可以选择sqlite-netFx46-static-binary。

总的来说,如果您的应用程序需要使用SQLite以外的依赖项,那么您应该选择Precompiled Statically-Linked Binaries的版本,并且选择包含所有依赖项的版本。否则,您可以选择Precompiled Statically-Linked Binaries的版本,并且选择只包含SQLite库的版本。

sqlite-netFx46-binary-bundle与sqlite-netFx46-binary区别:

sqlite-netFx46-binary-bundle是一个包含了所有必要文件的完整SQLite二进制文件包。它包含了SQLite的核心库、ADO.NET提供程序、LINQ支持和SQLite的工具。这个文件包比较大,但是它可以方便地安装和使用。

sqlite-netFx46-binary是一个更加轻量级的SQLite二进制文件。它只包含了SQLite的核心库和ADO.NET提供程序。这个文件比较小,但是它需要手动安装和配置。

因此,如果你需要快速地使用SQLite数据库,那么你可以选择使用sqlite-netFx46-binary-bundle。但是,如果你需要更加灵活地控制SQLite的安装和配置,那么你可以选择使用sqlite-netFx46-binary。

Precompiled Binaries for 64-bit Windows (.NET Framework 4.5)的sqlite-netFx45-binary-bundle-x64-2012-1.0.118.0.zip的含义

Precompiled Binaries for 64-bit Windows (.NET Framework 4.5)的sqlite-netFx45-binary-bundle-x64-2012-1.0.118.0.zip是一个预编译的SQLite库二进制文件包,它包含了SQLite库的所有必要文件。这个文件包是专门为64位Windows操作系统和.NET Framework 4.5编译的,因此它可以直接在这个操作系统和框架上使用。

总之,2012代表的是Visual Studio 2012的版本号,这个版本的SQLite库是专门为64位Windows操作系统和.NET Framework 4.5编译的。如果你的应用程序需要使用SQLite库,你可以下载这个预编译的二进制文件包,并将它直接嵌入到你的应用程序中。

或者最方便的就在微软的NuGet下载提供的System.Data.SQLite,减去选择的麻烦!

NuGet提供的System.Data.SQLite二进制版本是SQLite的官方二进制版本。它是由SQLite官方发布的,用于.NET平台的SQLite库。这个二进制版本是经过编译和优化的,以便在.NET平台上提供最佳的性能和稳定性。

NuGet提供的System.Data.SQLite二进制版本包括以下文件:

  • System.Data.SQLite.dll:SQLite的.NET绑定库。
  • System.Data.SQLite.xml:包含System.Data.SQLite.dll的XML文档。
  • SQLite.Interop.dll:SQLite的本机库。

这些文件可以用于在.NET应用程序中访问和管理SQLite数据库。要使用这些文件,您需要将它们添加到您的项目中,并在代码中引用System.Data.SQLite命名空间。

版本选择或者参考这个作者文章(C#中SQLite的使用及工具类 ):https://www.cnblogs.com/timefiles/p/sqlitehelper.html

System.Data.SQLite支持登录加密,需要一定费用,可以去官网看(网页上方选择购买)https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki;现在的免费SQLite版本就不支持加密,取消了这个加密功能,但以前支持C#  SQLite版本 1.0.112.0版本与之前旧版本都支持免费登录加密。但是有些旧版本,有些SQL语句就用不了,旧版本不支持。需要用免费加密的,需要找到以前的dll版本下载!

上面内容用于记录自己的学习与分享,分享让技术更进一步!

技术来源于思想自由、独立思考、辩证分析、逻辑思维与人类自由的创新,来服务于人类生活各种方便,而不是为了用技术打造思想鸿沟围城来制造愚蠢;技术是好的与坏的,好人用技术是更好的,坏人用技术是更坏的。推荐好书:乔治.奥威尔的《1984》,有多个译本,选择喜欢且好的译本就行了;还有柏拉图的《理想国》、哈耶克《通向奴役之路》(港版)(港版翻译较好大陆版本,英语过硬的最好看英文原版),现在网店都有售卖!阅读好书,阅读大部分人未阅读过与课堂没有的书,阅读这片土地没有的知识就能增加一种思辨思维与智慧,才能走出狭隘思维偏见的洞穴!

柏拉图在他的巨著《理想国》的第七卷里写到了洞穴理论阐明:一群从小被囚禁生活在洞穴里人,在洞穴外面的光线照明下,往内看是一片片黑影,往外看是光明的海阔天空,越看越明亮!

包容的人更自信、思维更多元,包容好的文化使人更强大,越自信越包容越强大!

C# SQLite版本选择:Precompiled Binaries 与Precompiled Statically-Linked Binaries ,带bundle与不带bundle相关推荐

  1. OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries

    OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries.有时间报的错误 ...

  2. Windows下Wireshark安装版本选择方式

    Windows下Wireshark安装版本选择方式 Wireshark版本分为1.X系列和2.X系列.1.X系列是早期版本,不提供中文版本.2.X系列是新版本,安装后,同时提供中文版和英文版.根据系统 ...

  3. Android和SQLite版本对应关系

    Android和SQLite版本对应关系 今天Xamarin群有人问到Android和SQLite版本如何对应,顺手查了一下,贴出来. SQLite 3.8.4.3: • 21-5.0-Lollipo ...

  4. hadoop商业版本选择对比

    记得刚接触到hadoop的时候跟大部分人一样都会抱怨hadoop的安装部署问题,对于一个新手来说这这的是个头疼的问题,可能需要花费一整天的时间才能把分布式环境安装配置好.在刚接触hadoop的一段时间 ...

  5. Spring Cloud Alibaba - 02 SpringCloud 、 SpringCloud Alibaba 、SpringBoot的生产版本选择

    文章目录 Spring Cloud 生态圈概览 Spring Cloud Spring Cloud Alibaba 版本选择 Spring Boot 版本说明 Spring Cloud 版本说明 Sp ...

  6. Hadoop版本选择探讨

    由于Hadoop版本混乱多变,因此,Hadoop的版本选择问题一直令很多初级用户苦恼.本文总结了Apache Hadoop和Cloudera Hadoop的版本衍化过程,并给出了选择Hadoop版本的 ...

  7. 史上最详细 最官方的 SpringBoot和SpringCloud的版本选择!!!! 绝对让你心服口服的版本选择方式!!!

    一.Springboot版本选择 1.1.git源码地址 SpringBoot 1.2.SpringBoot2.0新特性 https://github.com/spring-projects/spri ...

  8. 一篇文章让你轻松搞定SpringBoot和SpringCloud之间的版本选择!!!

    首先说明一下我认为我没有乱立标题或者是夸大标题,这篇文章肯定能告诉你该如何选择SpringBoot和SpringCloudd之间的版本,资料也是从官网拿的,并非胡乱捏造. 学的越来越多,基础不牢固,每 ...

  9. 【大数据技术】操作系统和Hadoop版本选择

    1.操作系统选择 Hadoop产品是由Java语言开发的,所以推荐的是Linux操作系统,理由很简单开源免费,推荐的操作系统CentOS. CentOS是一个基于Red Hat 企业级 Linux 提 ...

最新文章

  1. 【jquery】jquery选择器
  2. python 示列:抓取网页所有a连接
  3. 疫情之下,MWC 2020正式取消!此前仍有中国公司表态坚持参展
  4. Mybatis 一对多 结果集映射 简单入门 易懂
  5. 利用java.io.File类实现遍历本地磁盘上指定盘符或文件夹的所有的文件
  6. win2000/2003 Discuz生存环境搭建及基础优化 攻略
  7. php获取元素位置,jquery如何获取当前元素的位置
  8. [转]训练集和测试集的含义和区别?
  9. python爬虫:bs4搜索文档树
  10. Docker 命令总结
  11. 微软正式发布 Silverlight 5
  12. 技术不错的我去面试大厂,5分钟,就被秒了!憋屈~
  13. python 贴吧调度器_简单的Python调度器Schedule详解
  14. STEP7 MicroWIN SMART 下载程序到CPU的具体步骤详解(图文)
  15. 米家扫地机器人尘盒怎么取_米家扫地机器人1S:从里到外全面提升 拥有超高性价比...
  16. 玩游戏计算机缺失msvcp140,绝地求生计算机丢失MSVCP140.dll解决办法
  17. 丧心病狂的Android混淆文件生成器
  18. contiki学习笔记(五)ctimer和etimer
  19. pdf压缩文件怎么压缩最小,pdf大小超过上传大小不能上传怎么压缩?
  20. automotive industry is embracing change and agile transitioning

热门文章

  1. Unity pico开发
  2. android 换机 iphone8,两年不换机,iPhone8plus处于安卓旗舰哪种水平?
  3. 2019 KDD accpeted paper2019年kdd接收的论文
  4. notes 发邮件was配置java_Java程序调用LotusNotes邮件服务发送邮件的实现
  5. 西安三本哪个计算机学校最好,西安公办三本院校最新排名 2015
  6. [游戏]绝地求生听不到队友说话,自己也不能说话
  7. AE实践:线性动画与非线性动画
  8. 动态获取API函数地址---对抗win7 aslr安全机制
  9. mysql主从同步完成标志,centos7 mysql 主从复制
  10. JS三目运算符处理时间,预计时间功能