【小白专用 已验证24.6.18】C# SqlSugar操作MySQL数据库实现增删改查

【小白专用24.6.18】C# SqlSugar:连接数据库实现简单的,增、删、改、查-CSDN博客

SqlSugar .Net ORM 5.X 官网 、文档、教程 - SqlSugar 5x - .NET果糖网

SqlSugar项目创建

通过NuGet包管理器搜索SqlSugarMySql还要安装MySql.Data、Newtonsoft.Json)包并安装

1.NuGet安装sqlsugar

新建一个C#的桌面应用程序,起名为SqlSugarDemo,然后鼠标右键选择引用,选择管理NuGet程序包,然后点击浏览后输入sqlsugar查找,找到直接点击安装

所用.NET框架如果是.NET Framework则选择SqlSugar

所用.NET框架如果是.NET Core则选择SqlSugarCore

安装完后点击已安装,并且点开右边的引用后也可以看到SqlSugar就已经安装好了,如下图



 

2.实体类用法

在写查询代码之前,还要增加一个类,作为映射,数据库中tp_auth_rule表:

项目右键——添加——类,id为主键并设置为自增

在Id属性上加[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]是因为在数据库中Id是主键并且自增,需要与数据库中一致。

//如果实体类名称和表名不一致可以加上SugarTable特性指定表名

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SqlSugarDemo
{[SugarTable("tp_auth_rule")][Serializable]public class tp_auth_rule{/// <summary>/// 编号/// <summary>[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)]public int id {get; set; }/// <summary>/// 编码/// <summary>[SugarColumn(ColumnName = "code")]public string code {get; set; }/// <summary>/// 父ID/// <summary>[SugarColumn(ColumnName = "pid")]public int pid {get; set; }/// <summary>/// 控制器/方法/// <summary>[SugarColumn(ColumnName = "name")]public string name {get; set; }/// <summary>/// 权限名称/// <summary>[SugarColumn(ColumnName = "title")]public string title {get; set; }/// <summary>/// type/// <summary>[SugarColumn(ColumnName = "type")]public int type {get; set; }/// <summary>/// 菜单状态/// <summary>[SugarColumn(ColumnName = "status")]public int status {get; set; }/// <summary>/// conditions/// <summary>[SugarColumn(ColumnName = "conditions")]public string conditions {get; set; }/// <summary>/// 排序/// <summary>[SugarColumn(ColumnName = "sort")]public int sort {get; set; }/// <summary>/// 验证权限/// <summary>[SugarColumn(ColumnName = "auth_open")]public int? auth_open {get; set; }/// <summary>/// 图标名称/// <summary>[SugarColumn(ColumnName = "icon")]public string icon {get; set; }/// <summary>/// 创建时间/// <summary>[SugarColumn(ColumnName = "create_time")]public int? create_time {get; set; }/// <summary>/// 更新时间/// <summary>[SugarColumn(ColumnName = "update_time")]public int update_time {get; set; }/// <summary>/// 参数/// <summary>[SugarColumn(ColumnName = "param")]public string param {get; set; }}
}

3.SqlSugar的简单用法

新建一个SqlConnection.cs

在这里,我们来完成SqlSugar连接SQLServer数据库的基本操作。语法上,其实和使用Microsoft.Data.SqlClient很相似,首先创建一个实例,

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SqlSugarDemo
{/// <summary>/// SqlSugar连接到MySQL数据库/// </summary>public class MySqlConnection{private static string strConnectionString = string.Empty;#region 数据库访问对象/// <summary>/// 数据库访问对象/// </summary>private static SqlSugarClient db = null;/// <summary>/// 初始化SqlSugarClient/// </summary>/// <returns>返回SqlSugarClient对象</returns>public static SqlSugarClient GetInstance(){if (strConnectionString == string.Empty){//strConnectionString = "Data Source=192.168.4.61;Initial Catalog=ReportServer;User ID=sa;Password=16";strConnectionString = "server = localhost; port = 3306; user = root; password = a6; database = worch; Convert Zero Datetime=True; Allow User Variables=True; AllowLoadLocalInfile=true";}db = new SqlSugarClient(new ConnectionConfig(){ConnectionString = strConnectionString,DbType = SqlSugar.DbType.MySql,//DbType.SqlServer,IsAutoCloseConnection = true});return db;}#endregion/// <summary>/// 查询出tp_auth_rule表中的所有数据,映射到StudentInfo,然后作为list返回/// </summary>/// <returns></returns>public static List<tp_auth_rule> Query(){var db = GetInstance();return db.Queryable<tp_auth_rule>().ToList();}public static void Insert(tp_auth_rule student){var db = GetInstance();db.Insertable<tp_auth_rule>(student).ExecuteCommand();}public static bool Delete(tp_auth_rule student){var db = GetInstance();db.Deleteable<tp_auth_rule>(student).ExecuteCommand();return true;}}
}

 SqlSugarClient需要传入参数,我们以第一个为例,需要ConnectionConfig类型的参数

fc1a78d4c29f955ecf72587e8f74f83f.png

ConnectionConfig如下

309f64e9bdfeff1556b9c5e847566747.png

功能的演示

查询示例

        private void btnQuery_Click(object sender, EventArgs e){var tp_auth_rulelist = MySqlConnection.Query();dataGridView1.DataSource = tp_auth_rulelist;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/355791.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何计算 GPT 的 Tokens 数量?

基本介绍 随着人工智能大模型技术的迅速发展&#xff0c;一种创新的计费模式正在逐渐普及&#xff0c;即以“令牌”&#xff08;Token&#xff09;作为衡量使用成本的单位。那么&#xff0c;究竟什么是Token呢&#xff1f; Token 是一种将自然语言文本转化为计算机可以理解的…

【Linux】进程信号2——阻塞信号,捕捉信号

1.阻塞信号 1.1. 信号其他相关常见概念 在开始内容之前&#xff0c;先介绍一些信号的专业名词&#xff1a; 实际执行信号的处理动作称为信号递达&#xff08;Delivery&#xff09;信号从产生到递达之间的状态&#xff0c;称为信号未决&#xff08;Pending&#xff09;&#…

【秋招刷题打卡】Day01-自定义排序

Day01-自定排序 前言 给大家推荐一下咱们的 陪伴打卡小屋 知识星球啦&#xff0c;详细介绍 >笔试刷题陪伴小屋-打卡赢价值丰厚奖励 < ⏰小屋将在每日上午发放打卡题目&#xff0c;包括&#xff1a; 一道该算法的模版题 (主要以力扣&#xff0c;牛客&#xff0c;acwin…

【Git】 -- Part1 -- 基础操作

1. Git简介 Git 是一个开源的分布式版本控制系统&#xff0c;由 Linus Torvalds 于 2005 年开发&#xff0c;主要用于源代码管理。Git 允许多名开发者共同合作处理同一个项目&#xff0c;跟踪每个文件的修改&#xff0c;并且在必要时回滚到之前的版本。 Linus Torvalds是Linux…

CAC 2.0融合智谱AI大模型,邮件安全新升级

在数字化时代&#xff0c;电子邮件的安全问题日益成为关注的焦点。Coremail CACTER邮件安全人工智能实验室&#xff08;以下简称“CACTER AI实验室”&#xff09;凭借其在邮件安全领域的深入研究与创新实践&#xff0c;不断推动技术进步。 此前&#xff0c;CACTER AI实验室已获…

Python基础教程(二十八):pip模块

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

Go语言开发框架GoFly已集成数据可视化大屏开发功能,让开发者只专注业务开发,本文指导大家如何使用

前言 框架提供数据大屏开发基础&#xff0c;是考虑当前市场软件应用有一大部分是需要把业务数据做出大屏&#xff0c;很多政府项目对大屏需求特别高&#xff0c;还有生产企业项目也对大屏有需求&#xff0c;没有提供基础规范的后台框架&#xff0c;在开发大屏需要很多时间去基…

Ubuntu server 24 (Linux) 安装部署samba服务器 共享文件目录 windows访问

1 安装 sudo apt update sudo apt-get install samba #启动服务 sudo systemctl restart smbd.service sudo systemctl enable smbd.service #查看服务 2 创建用户 #创建系统用户 sudo useradd test2 #配置用户密码 sudo smbpasswd -a test2 # smbpasswd: -a添加用户 …

STM32学习笔记(六)--引脚重映射详解

STM32F103C8T6引脚定义&#xff1a; 在STM32微控制器中&#xff0c;外设引脚的复用功能&#xff08;Alternate Function&#xff0c;AF&#xff09;有时会出现冲突&#xff0c;例如当USART2_CTS和TIM2_CH1同时需要使用相同的引脚时。此时&#xff0c;可以通过引脚重映射功能&am…

DS知识点总结--线性表定义及顺序表示

数据结构知识点汇总(考研C版) 文章目录 数据结构知识点汇总(考研C版)二、线性表2.1 线性表的定义和操作2.1.1 线性表的定义2.1.2 线性表的基本操作 2.2 线性表的顺序表示2.2.1 顺序表的定义2.2.2 顺序表上的基本操作的实现 二、线性表 2.1 线性表的定义和操作 2.1.1 线性表的…

python通过selenium实现自动登录及轻松过滑块验证、点选验证码(2024-06-14)

一、chromedriver配置环境搭建 请确保下载的驱动程序与你的Chrome浏览器版本匹配&#xff0c;以确保正常运行。 1、Chrome版本号 chrome的地址栏输入chrome://version&#xff0c;自然就得到125.0.6422.142 版本 125.0.6422.142&#xff08;正式版本&#xff09; &#xff08;…

V4和V6双栈处理

现进行双栈 对R1 对R2 对R3 对R4 路由地址配完&#xff0c;起协议 然后起ripng&#xff0c;在R2&#xff0c;R3&#xff0c;R4上都宣告一下 然后在PC1和PC2上都手动配置一下就可以了

Kafka第一篇——内部组件概念架构启动服务器zookeeper选举以及底层原理

目录 引入 ——为什么分布式系统需要用第三方软件&#xff1f; JMS 对比 组件 架构推演——备份实现安全可靠 &#xff0c; Zookeeper controller的选举 controller和broker底层通信原理 BROKER内部组件 ​编辑 topic创建 引入 ——为什么分布式系统需要用第三方软件&#…

游戏开发丨基于Tkinter的五子棋小游戏

文章目录 写在前面Tkinter五子棋系列文章写在后面 写在前面 本期内容&#xff1a;基于tkinter的五子棋小游戏 下载地址&#xff1a;https://download.csdn.net/download/m0_68111267/88700190 实验环境 python3.11及以上pycharmtkinter Tkinter Tkinter是Python的一个标准…

刷题记录(240613)

aliyun0512 1. 小红定义一个数组是好数组&#xff0c;当且仅当所有奇数出现了奇数次&#xff0c;所有偶数出现了偶数次。现在小红拿到了一个数组&#xff0c;她希望取一个该数组的非空子序列(可以不连续)&#xff0c;使得子序列是好数组。你能帮小红求出子序列的方案数吗?由于…

C# Winform Datagridview控件使用和详解

DataGridView 是一种以表格形式显示数据的控件&#xff0c;由Rows(行)&#xff0c;Columns(列)&#xff0c;Cells(单元格)构成。本实例将综合利用DataGridView的属性和事件&#xff0c;展示不同的表格风格数据和操作。包含&#xff1a; 添加Datagridview行&#xff0c;列数据设…

APP IOS

APP IOS苹果源生应用程序 APP Android-CSDN博客

【Python/Pytorch 】-- K-means聚类算法

文章目录 文章目录 00 写在前面01 基于Python版本的K-means代码02 X-means方法03 最小二乘法简单理解04 贝叶斯信息准则 00 写在前面 时间演变聚类算法&#xff1a;将时间演变聚类算法用在去噪上&#xff0c;基本思想是&#xff0c;具有相似信号演化的体素具有相似的模型参数…

【开源项目】智慧北京案例~超经典实景三维数字孪生智慧城市CIM/BIM数字孪生可视化项目——开源工程及源码!

飞渡科技数字孪生北京管理平台&#xff0c; 依托实景数字孪生底座&#xff0c;以城市感知网络为硬件基础&#xff0c;以城市大数据为核心资源&#xff0c;以数字孪生、云计算、人工智能为关键技术&#xff0c;实现城市产业规划、资产安全管理、城市能耗监控等一体化空间融合。 …

实现锚点链接点击tab跳转到指定位置 并且滚动鼠标顶部锚点的样式也跟随变化

实现效果如下 不管是点击还是 滚动鼠标 顶部的样式也会跟随变化 点击会跳转到指定的位置 通过IntersectionObserver 监听是否可见 下面代码可以直接执行到vue的文件 <template><div><ul class"nav"><li v-for"tab in tabs" :key…