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数据不同的就是连接字符串的写法

ini 复制代码
//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
});

可以使用绝对路径也可以使用相对路径,但是为了便于移植,推荐使用相对路径,下面两种写法都可以。

ini 复制代码
//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类如下所示:

arduino 复制代码
   public class Student
   {
       [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
       public int Id { get; set; }
       public string? Name { get; set; }
   }

尝试写入数据到SQLite数据库

点击测试按钮的代码如下:

ini 复制代码
 public void button1_Click(object sender, EventArgs e)
 {
     var stu = new Student();
     stu.Name = "小明";
     db.Insertable(stu).ExecuteCommand();
 }

运行结果,如下所示:

成功将数据写入SQLite中,那么其他的增删改查也同样可以实现,这里就不再赘述了,可以查看SQLSugar的官网。

相关推荐
薄荷撞~可乐1 小时前
C#拆箱/装箱(性能优化)
性能优化·c#
胖咕噜的稞达鸭1 小时前
C++中的父继子承(2)多继承菱形继承问题,多继承指针偏移,继承组合分析+高质量习题扫尾继承多态
c语言·开发语言·数据结构·c++·算法·链表·c#
Dm_dotnet2 小时前
WPF应用绑定系统快捷键
c#
.NET修仙日记2 小时前
SQL Server实战指南:从基础CRUD到高并发处理的完整面试题库
面试·职场和发展·c#·.net·sql server·.net全栈经典面试题库
武文斌774 小时前
项目学习总结:CAN总线、摄像头、STM32概述
linux·arm开发·stm32·单片机·嵌入式硬件·学习·c#
sali-tec4 小时前
C# 基于halcon的视觉工作流-章46-不匀面划痕
人工智能·算法·计算机视觉·c#
数字化顾问5 小时前
从 DAG 到 Shuffle:掌握 Spark RDD 宽窄依赖的调优密码
c#·linq
Happy coder7 小时前
【avalonia教程】11字符串格式化、avalonia自带绑定值的转换
c#·avalonia
Panda__Panda14 小时前
docker项目打包演示项目(数字排序服务)
运维·javascript·python·docker·容器·c#
weixin_4569042714 小时前
基于.NET Framework 4.0的串口通信
开发语言·c#·.net