C#创建SQLite控制台应用程序详解
发布时间 - 2026-01-11 02:19:06 点击率:次一、开发环境

操作系统:Windows 10 X64
开发环境:VS2015
编程语言:C#
.NET版本:.NET Framework 4.0
目标平台:X86
二、前言
之前使用的是软件的Access来创建基于本地的数据库软件,发现在使用过程中,发现Access比较耗内存,运行速度比SQLite稍微慢,另外一个最重要的是Access加密的文件容易被破解,因此,现在转向使用SQLite来代替Access。
三、SQLite的下载
1、由于是基于.NET的C#编程,需下载System.Data.SQLite.dll来进行引用,下载网址如下:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
2、由于使用的是.NET Framework 4.0,且软件开发的目标平台是X86,因此需下载 sqlite-netFx40-setup-x86-2010-1.0.105.2.exe 软件,下载网址如下:
http://system.data.sqlite.org/downloads/1.0.105.2/sqlite-netFx40-setup-x86-2010-1.0.105.2.exe
另外,还有一个 sqlite-netFx40-setup-bundle-x86-2010-1.0.105.2.exe,它与 sqlite-netFx40-setup-x86-2010-1.0.105.2.exe 的区别是,它含有VS2010的运行时组件,因使用的VS2015,所有安装该带有bundle的软件实际没有什么用处,如果你使用的是VS2010,则可以进行下载安装,下载网址如下:
http://system.data.sqlite.org/downloads/1.0.105.2/sqlite-netFx40-setup-bundle-x86-2010-1.0.105.2.exe
3、下载的是Setup安装包,因此只需按照点击下一步(Next)或安装(Install),直至安装完毕即可。
四、创建加密版本的SQLite数据库
在此使用的SQLite数据库管理软件为SQLite Studio,版本为3.1.1,下载网址如下:
https://sqlitestudio.pl/files/sqlitestudio3/complete/win32/sqlitestudio-3.1.1.zip
有人会问,怎么不使用Navicat For SQLite,这个软件不仅有完全的中文版本,而且还有详细使用说明,不是更好吗?
其实,当初也想用这个软件来对SQLite数据库进行管理,但在创建加密版本的SQLite数据库时,发现使用System.Data.SQLite.dll来对该数据库操作时,会弹出类似数据库文件被加密或者不是数据库文件的提示,而非加密版本的就没有此问题,因此,可以使用Navicat For SQLite来对非加密的SQLite数据操作,但如果需要使用加密的SQLite数据库,推荐使用SQLite Studio,因为它生成的加密版本SQLite数据库可以被System.Data.SQLite.dll识别。
关于为何不能使用Navicat For SQLite来对加密数据库记性操作的原因是:Navicat使用的加密算法与SQLite Studio的不一样。
1、打开SQLite Studio,点击“添加数据库”按钮,如下图所示:
2、数据类型选择“System.Data.SQLite”,点击绿色添加按钮,将文件保存至D:\Test.db,并在Password一栏内输入密码:2017(如不使用密码,此处留空即可),然后点击“OK”按钮即可创建一个加密版本的SQLite DB文件,如下图所示:
3、双击“Test”数据库,将会显示其下的子节点,选择“Tables”,并在工具栏点击“新建表”按钮,如下图所示:
4、在Table name文本框内输入表名Info,并点击“Add columns(Ins)”图标以便添加列,如下图所示:
5、添加第一个字段,字段名为ID,数据类型为Text,将主键前的复选框打钩,并点击“OK”按钮,如下图所示:
6、重复第4个步骤,点击“Add columns(Ins)”图标以便添加另外一个列,字段名为Name,数据类型为Text,将非空前的复选框打钩,并点击“OK”按钮,如下图所示:
7、点击“Commit structure changes”图标以便保存该表及字段,如下图所示:
8、在弹出的对话框点击“OK”按钮,即可完成表单的创建工作,如下图所示:
9、选择“数据”选项卡,点击“插入行(Ins)”图标按钮,如下所示:
10、在行数据编辑栏里输入两条数据,第一条数据ID为2017、Name为LSB,第二条数据ID为2011、Name为CNC,如下图所示:
11、添加数据完毕之后,点击“提交(Ctrl+Return)”图标按钮提交刚才输入的两条数据,如下图所示:
12、关闭SQLite Studio数据库管理软件。
五、使用System.Data.SQLite.dll访问SQLite数据库
1、新建一个项目名为“SQLiteTest”的控制台应用程序,如下图所示:
2、在“SQLiteTest”项目中右键点击“引用”,在弹出的上下文菜单中选择“添加引用(R)”,如下图所示:
3、将路径为“C:\Program Files (x86)\System.Data.SQLite\2010\GAC\System.Data.SQLite.dll”的引用添加进来,如下图所示:
4、在项目属性设置中,将“生成”选项卡中的目标平台改为“X86”,否则,软件无法运行,原因是使用的是X86版本的System.Data.SQLite.dll,如下图所示:
5、在Main主函数里输入以下代码,如下:
using System;
using System.Data.SQLite;
using System.Data;
namespace SQLiteTest
{
class Program
{
static void Main(string[] args)
{
using (SQLiteConnection connection = new SQLiteConnection(@"Data Source = D:\test.db;Password = 2017"))
{
using (SQLiteCommand command = new SQLiteCommand(connection)
{ CommandText = "SELECT * FROM [main].[Info]" })
{
DataTable table = new DataTable("Info");
SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);
adapter.Fill(table);
foreach(DataRow row in table.Rows)
{
foreach(DataColumn col in table.Columns)
{
Console.Write($"{row[col]}\t");
}
Console.WriteLine();
}
}
}
Console.ReadKey();
}
}
}
6、运行结果如下:
附源代码:C#创建SQLite控制台应用程序
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# C#
# SQLite
# 控制台
# C# 如何在WINForm程序中创建XML文件
# 使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
# C#创建WCF服务控制台应用程序详解
# C#创建Web应用程序代码实例
# C#通过创建Windows服务启动程序的方法详解
# C#程序中创建、复制、移动、删除文件或文件夹的示例
# C#操作IIS程序池及站点的创建配置实现代码
# C# 创建控制台应用程序
# 所示
# 如下图
# 的是
# 并在
# 两条
# 另外一个
# 选项卡
# 应用程序
# 复选框
# 数据库管理
# 数据库文件
# 如果你
# 第一个
# 将会
# 在此
# 在弹出
# 只需
# 但在
# 推荐使用
# 没有什么
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在阿里云虚拟服务器快速搭建网站?
如何快速搭建个人网站并优化SEO?
如何在云主机上快速搭建网站?
使用C语言编写圣诞表白程序
JavaScript如何实现音频处理_Web Audio API如何工作?
详解Oracle修改字段类型方法总结
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel如何使用Sanctum进行API认证?(SPA实战)
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
免费视频制作网站,更新又快又好的免费电影网站?
🚀拖拽式CMS建站能否实现高效与个性化并存?
JS弹性运动实现方法分析
Laravel如何为API生成Swagger或OpenAPI文档
canvas 画布在主流浏览器中的尺寸限制详细介绍
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Laravel怎么实现验证码(Captcha)功能
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Python数据仓库与ETL构建实战_Airflow调度流程详解
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
北京网站制作公司哪家好一点,北京租房网站有哪些?
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
如何在新浪SAE免费搭建个人博客?
EditPlus中的正则表达式 实战(2)
如何快速搭建二级域名独立网站?
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
高性价比服务器租赁——企业级配置与24小时运维服务
如何用AI帮你把自己的生活经历写成一个有趣的故事?
无锡营销型网站制作公司,无锡网选车牌流程?
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
JS经典正则表达式笔试题汇总
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
北京专业网站制作设计师招聘,北京白云观官方网站?
Laravel如何配置和使用缓存?(Redis代码示例)
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
如何正确选择百度移动适配建站域名?
Python结构化数据采集_字段抽取解析【教程】
三星、SK海力士获美批准:可向中国出口芯片制造设备
如何快速搭建FTP站点实现文件共享?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
HTML 中如何正确使用模板变量为元素的 name 属性赋值
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康

