【小白专用 已验证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.mfbz.cn/a/720266.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言入门系列:数据类型之字符

文章目录 字符类型声明与初始化字符与单引号字符的内部表示字符类型的范围整数与字符的互换性字符变量的数学运算转义字符八进制与十六进制表示字符 字符类型声明与初始化 在C语言中&#xff0c;使用char关键字来声明字符类型变量。例如&#xff1a; char c B; // 声明并初始…

MongoDB和AI 赋能行业应用:零售

欢迎阅读“MongoDB 和 AI 赋能行业应用”系列的第三篇。 本系列重点介绍 AI 应用于不同行业的关键用例&#xff0c;涵盖制造业和汽车行业、金融服务、零售、电信和媒体、保险以及医疗保健行业。 利用生成式 AI 技术&#xff08;Gen AI&#xff09;&#xff0c;零售商可以创造…

【一】【网络使用小知识】使用aria2软件结合Windows PowerShell命令行快速下载文件

下载aria2软件 点击进入网址,aria2下载网址. 下载windows版本. 通过Windows PowerShell命令行使用aria2软件下载文件 通用下载文件命令行代码 aria2软件完整路径 -x 16 -s 32 -d 下载目录(文件夹) -o 文件名 下载链接路径示例,用aria2下载qq 找到aria2应用的直接地址,结合…

Python调用外部系统命令

利用Python调用外部系统命令的方法可以提高编码效率。调用外部系统命令完成后可以通过获取命令执行返回结果码、命令执行的输出结果进行进一步的处理。本文主要描述Python常见的调用外部系统命令的方法&#xff0c;包括os.system()、os.popen()、subprocess.Popen()等。 本文分…

EdgeOne 边缘函数—如何动态改写 M3U8 媒体文件

目前&#xff0c;各大主流厂商都推出了自己的边缘 Serverless 服务&#xff0c;如 CloudFlare Workers、 Vercel EdgeRuntime 等&#xff1b;腾讯云 EdgeOne 边缘函数提供了部署在边缘节点的 Serverless 代码执行环境&#xff0c;只需编写业务函数代码并设置触发规则&#xff0…

网上书店商城项目采用SpringBoot+Vue前后端分离技术(商家端、移动端、PC端)

项目简介&#xff1a; 本项目基于SpringBootVue2技术设计并实现了一个网上书店商城系统。系统的数据采用MYSQL数据库进行存储&#xff0c;开发工具选择为IDEA或VSCode工具。本商城系统具有前台购物功能和后台相应的信息管理。前台用户登陆注册后可以进行商品浏览、添加购物车、…

【代码随想录】【算法训练营】【第42天】 [1049]最后一块石头的重量II [494]目标和 [474]一和零

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 42&#xff0c;周二&#xff0c;坚持一下~ 题目详情 [1049] 最后一块石头的重量II 题目描述 1049 最后一块石头的重量II 解题思路 前提&#xff1a;最多只会剩下一块 石头&#xff0c;求此…

SQL Server入门-SSMS简单使用(2008R2版)-2

环境&#xff1a; win10&#xff0c;SQL Server 2008 R2 参考&#xff1a; SQL Server 管理套件&#xff08;SSMS&#xff09;_w3cschool https://www.w3cschool.cn/sqlserver/sqlserver-oe8928ks.html SQL Server存储过程_w3cschool https://www.w3cschool.cn/sqlserver/sql…

MySQL Explain 关键字详解

概述 explain 关键字可以模拟执行 sql 查询语句&#xff0c;输出执行计划&#xff0c;分析查询语句的执行性能 使用方式如下&#xff1a;explain sql explain select * from t1执行计划各字段含义 1. id 如果 id 序号相同&#xff0c;从上往下执行如果 id 序号不同&#…

Blurry - hackthebox

简介 靶机名称&#xff1a;Blurry 难度&#xff1a;中等 靶场地址&#xff1a;https://app.hackthebox.com/machines/605 本地环境 靶机IP &#xff1a;10.10.11.19 linux渗透机IP(kali 2024.2)&#xff1a;10.10.16.17 windows渗透机IP&#xff08;windows11&#xff0…

FastAdmin后台开发框架 lang 任意文件读取漏洞复现

0x01 产品简介 FastAdmin是一款基于PHPBootstrap的开源后台框架&#xff0c;专为开发者精心打造。它基于ThinkPHP和Bootstrap两大主流技术构建&#xff0c;拥有完善的权限管理系统和一键生成CRUD等强大功能。FastAdmin致力于提高开发效率&#xff0c;降低开发成本&#xff0c;…

UltraEdit电脑版下载_UltraEdit文本编辑器中文版下载_UltraEdit 2024最新版软件安装包下载附加详细安装步骤

UltraEdit中文版是一款功能强大的文本编辑器&#xff0c;几乎可以满足你所有的工作需求。使用UltraEdit文本编辑器可以操作更多记事本所不能处理的工作。如&#xff1a;基本的编辑文本、十六进制、ASCLL码、语法加亮、代码折叠、代码单词拼写检查等、C 及 VB 指令突显等,附有 H…

ICMAN触摸芯片隔空感应演示

ICMAN高性能触摸芯片之隔空感应演示 ——手掌靠近感应盘但未触摸&#xff0c;芯片即可实现隔空感应&#xff0c;指示灯亮起。 上下左右快扫、慢扫&#xff1b;反应灵敏&#xff0c;无误触发。 产品方案设计的简单&#xff0c;只需要通过调整电容&#xff0c;即可满足客户灵敏…

安全测试必备工具——SQLMap 安装及基本应用

检测SQL注入漏洞的专用工具是安全人士工具箱的必备品。Sqlmap是由python开发的用来检测与利用SQL注入漏洞的免费开源工具。它可以确定哪些参数、标头或数据元素容易受到SQL注入的影响&#xff0c;以及哪些类型的攻击是可能的。本文详细讲解这款神器的安装及使用。 1、什么是SQ…

LabVIEW版本、硬件驱动和Windows版本之间兼容性

在LabVIEW应用开发和部署过程中&#xff0c;确保LabVIEW版本、硬件驱动和Windows版本之间的一致性和兼容性至关重要。这不仅影响程序的稳定性和性能&#xff0c;还关系到项目的成功实施。本文从多角度详细分析这些因素之间的兼容性问题&#xff0c;并提供相关建议。 兼容性考虑…

Windows 安装 java 环境

搭建java开发环境 java的产品叫JDK&#xff08;java开发者工具包&#xff09;,必须安装JDK才能使用Java。 一、下载——java下载网址 二、安装 直接全部下一步就行&#xff0c;&#xff08;安装路径可以更换一下&#xff09;。 配置JAVA_HOME环境变量&#xff0c; 安装完成后…

基于 Arm 虚拟硬件实现人脸特征提取模型的部署

基于 Arm 虚拟硬件实现人脸特征提取模型的部署 文章目录 1 实验背景1.1 Arm 虚拟硬件介绍1.2 文章简介 2 实验目标3 实验前准备3.1 订阅 Arm 虚拟硬件镜像的百度智能云云服务器 BCC 实例3.2 克隆实验代码 4 实验步骤4.1 配置开发环境4.1.1 配置 CMSIS-Toolbox 环境4.1.2 配置 P…

教你一招,一键学会NAS磁盘“净身出户”的好方法!

在毕业季这个充满离别与新的开始的时刻&#xff0c;空气中似乎也弥漫着一种“断舍离”的氛围。就在这个特殊的季节里&#xff0c;我们迎来了618购物节&#xff0c;各种诱人的优惠活动如雨后春笋般涌现。铁威马618优惠不断&#xff01;T系列部分低至六折&#xff01; 在这个热闹…

MathType软件下载2024最新版_MathType官方免费下载附加详细安装步骤

MathType(数学公式编辑器)是由Design Science公司研发的一款专业的数学公式编辑工具。MathType功能非常强大&#xff0c;尤其适用于专门研究数学领域的人群使用。使用MathType让你在输入数学公式的时候能够更加的得心应手&#xff0c;各种复杂的运算符号也不在话下。 安 装 包 …

影音发烧友必入:高清先生M8 8K蓝光播放机使用体验8K播放器

影音发烧友必入&#xff1a;高清先生M8 8K蓝光播放机使用体验 高清先生在5.18成功举办新品8K蓝光播放机“M8”的发布会后&#xff0c;心心念念想尝鲜&#xff0c;于是果断下单了一台。 外形 收到货后&#xff0c;是牛皮纸包装&#xff0c;醒目的“高清先生”标识印在正面&…