C#winform中使用SQLite数据库
公众号「DotNet学习交流」,分享学习DotNet的点滴。
SQLite简介
SQLite是一种轻量级的关系型数据库管理系统(RDBMS),它以一个C库的形式提供。以下是SQLite数据库的一些关键特点:
1、无服务器: SQLite是一种无服务器的数据库管理系统,这意味着它不需要单独的服务器进程来运行。应用程序直接与SQLite库交互,而不是通过一个独立的数据库服务器。
2、自包含: 整个数据库被存储在一个单独的磁盘文件中。这使得SQLite数据库非常易于传输、备份和共享。
3、零配置: SQLite不需要繁琐的配置。你可以通过简单地打开一个文件来创建数据库,而不需要进行额外的设置或管理。
4、事务支持: SQLite支持事务,这是数据库管理系统中的重要概念。事务确保数据库操作的原子性,要么全部完成,要么全部取消。
5、跨平台: SQLite是跨平台的,可以在多种操作系统上运行,包括Windows、macOS和Linux。
6、嵌入式数据库: 由于其轻量级特性,SQLite经常被嵌入到应用程序中,作为应用程序的一部分运行。这种方式不需要单独的数据库服务器进程,适用于嵌入式系统和资源有限的环境。
7、多语言支持: SQLite有许多编程语言的绑定,包括C、C++、Java、Python、Ruby等,使其易于与各种编程语言集成。
8、高性能: 尽管它是一个轻量级的数据库引擎,但SQLite提供了良好的性能,尤其适用于小型项目和嵌入式系统。
SQLite下载安装
打开SQLite官网,点击下载按钮,如下所示:

根据电脑的系统选择合适的版本下载,如下所示:

解压之后,如下所示:

在电脑的环境变量中添加包含SQLite的路径,如下所示:

在命令行窗口中,输入sqlite3,出现如下所示内容,则安装成功。

使用SQLite
首先使用Navicat新建一个SQLite连接

连接名随便写,选择新建sqlite3数据库,再选择一个放数据库的地方,一般可以选择放在项目文件中,如下所示:

在我们选定的路径下,就有了一个数据库,如下所示:

使用SQLSugar操作SQLite数据库
安装SQLSugar,如下所示:

注意根据版本选择合适的nuget包,我这样是用的.NET 8所以选择安装SqlSugarCore。
与连接MySQL数据不同的就是连接字符串的写法
//public static string SQLitePath = Path.Combine(Environment.CurrentDirectory, "demo.db");
public static string SQLitePath = Application.StartupPath + "demo.db";
public static string ConnectionString = "DataSource=" + SQLitePath;
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
DbType = SqlSugar.DbType.Sqlite,
ConnectionString = ConnectionString,
IsAutoCloseConnection = true
});
可以使用绝对路径也可以使用相对路径,但是为了便于移植,推荐使用相对路径,下面两种写法都可以。
//public static string SQLitePath = Path.Combine(Environment.CurrentDirectory, "demo.db");
public static string SQLitePath = Application.StartupPath + "demo.db";
要注意Environment.CurrentDirectory和Application.StartupPath的路径都如下所示:

使用Navicat在数据库中建表,如下所示:

将表名命名为Student如下所示:

在项目中新建Student类如下所示:
public class Student
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
public string? Name { get; set; }
}
尝试写入数据到SQLite数据库
点击测试按钮的代码如下:
public void button1_Click(object sender, EventArgs e)
{
var stu = new Student();
stu.Name = "小明";
db.Insertable(stu).ExecuteCommand();
}
运行结果,如下所示:

成功将数据写入SQLite中,那么其他的增删改查也同样可以实现,这里就不再赘述了,可以查看SQLSugar的官网。
C#winform中使用SQLite数据库的更多相关文章
- WinForm中从SQLite数据库获取数据显示到DataGridView
1.关于Sqlite Sqlite是一款开源的.适合在客户端和嵌入式设备中使用的轻量级数据库,支持标准的SQL. 不像SqlServer或Oracle的引擎是一个独立的进程.通过TCP或命名管道等与程 ...
- Android虚拟机中的sqlite数据库文件
Android虚拟机中的sqlite数据库文件 ①
- 在项目中使用SQLite数据库小结
------------------------------------------------------------------------推荐: - VS2012 使用 1.0.84 版的库 - ...
- 2014-08-01 ASP.NET中对SQLite数据库的操作——ADO.NET
今天是在吾索实习的第18天.我主要学习了如何在ASP.NET中对SQLite数据库的操作,其基本操作如下: 添加引用System.Data.SQLite.dll(PS:在网页里面任意找到适合的.NET ...
- android中与SQLite数据库相关的类
为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...
- Go语言中使用SQLite数据库
Go语言中使用SQLite数据库 1.驱动 Go支持sqlite的驱动也比较多,但是好多都是不支持database/sql接口的 https://github.com/mattn/go-sqlite3 ...
- 在Android 开发中使用 SQLite 数据库笔记
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PH ...
- 在 Android 应用程序中使用 SQLite 数据库以及怎么用
part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...
- 【Win10】在应用中使用 SQLite 数据库
在绝大多数应用中,免不了要做的一项就是设置这样的本地数据存储.简单的数据存储我们可以使用 LocalSettings 或者 IsolatedStorageFile(独立存储)等等的方式来进行本地数据存 ...
- C#中使用SQLite数据库简介(上)
[SQLite数据库] SQLite是一个开源的轻量级的桌面型数据库,它将几乎所有数据库要素(包括定义.表.索引和数据本身)都保存在一个单一的文件中.SQLite用C编写实现,它在内存消耗.文件体积. ...
随机推荐
- Jmeter:"An error occurred: Can't connect to X11 window server using 'lacalhost:12.0' as the value of the display variable." 解决办法
做各种不同项目的性能测试,都需要在项目本地压测服务器配置jmeter,需要时还要调出jmeter图形化界面来调试jmeter脚本. 标题中的问题遇过多次,这次做个记录. 1. 启动jmeter报错 在 ...
- Unity UGUI的Button组件的介绍及使用
UGUI的Button(按钮)组件的介绍及使用 1. 什么是UGUI的Button组件? UGUI(Unity GUI)是Unity引擎中的一套用户界面系统,Button(按钮)是其中的一个常用组件. ...
- AI绘画StableDiffusion实操教程:月光下的美人(含高清图片)
本教程收集于:AIGC从入门到精通教程汇总 今天继续分享AI绘画实操教程,如何用lora包生成超真实好看质感超强的人物图片. 放大高清图已放到教程包内,需要的可以自取. 出图效果: 更多图片资源访问查 ...
- BY组态-低代码web可视化组件
简介 BY组态是贵州九元四方科技完全自主研发的集实时数据展示.动态交互等一体的全功能可视化平台.帮助物联网.工业互联网.电力能源.水利工程.智慧农业.智慧医疗.智慧城市等场景快速实现数字孪生.大屏可视 ...
- MySQL8.0默认加密连接方式
Mysql8.0开始默认采用新的caching_sha2_password的身份验证方式,常规老接口会因此无法连接数据库. 为继续使用老的身份验证方式,需显式指定身份验证方式为 mysql_nativ ...
- 使用 Kubernetes 简化平台工程
平台工程在现代应用程序开发和部署中发挥的作用至关重要.随着软件应用程序变得越来越复杂和分散,对稳健且可扩展的基础设施的需求变得越来越重要.这就是平台工程的作用所在,它是支持整个软件开发生命周期的支柱. ...
- Swagger系列:SpringBoot3.x中使用Knife4j
目录 一.简介 二.版本说明 三.使用 四.效果图 一.简介 官网:https://doc.xiaominfo.com/ Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决 ...
- ES6和node模块化
node模块化: 1.输出:exports.a=12; 或者module.exports={ a:12, b:5 } 2.引入:require('./a.js'); 3.引用自定义模块 放到node_ ...
- Vue之键盘事件
1.使用keydown触发事件 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- Gitlab Server
Gitlab 基本概述 1.什么是Gitlab ? Gitlab是一个开源分布式的版本控制系统. Ruby语言开发完成. Gitlab主要实现的功能.管理项目源代码.对源代码进行版本控制.以及代码复用 ...