当前位置: 首页 > news >正文

C# 增删改查教程 代码超级简单

目录

一.留言

二 .帮助类

三 .增删改查代码展示 

一.留言

大家好,前几篇文章我们更新了 C# 三层架构的相关代码,主要写了登录,以及增删改查的相关代码,用的三层架构的框架,那么本篇文章一次性更新C#的增删改查相关代码,并且我们不使用三层架构的框架,我们只写在一个类 里面,使用一个帮助类,超级简单,基本上照着抄代码效果也一样,所以我才在本篇一次性更新,而不是和前几篇一样分开讲解。

二 .帮助类

那么在正式写代码之前先了解一下帮助类,我们看上面几篇三层架构的增删改查 ,我们每次去做增删改查的操作都需要去打开数据库,通过调用数据库打开数据库,然后再写sql语句进行操作,那么我们可不可以把这些操作封装成一个类呢 ?当然是可以,把这些操作我们直接写一个通用的类,一般类名称为 SqlHelper,这样我们可以只写sql语句 ,在传值给前端就可以,每次写完sql语句后我们只需要调用一下帮助类就可以了,那么下面我把代码简短的展示一下 ,这个类我会放在下载链接里,你们去下载就好了。下面是该链接 :C#帮助类,增删改查帮助类资源-CSDN文库

首先简短的介绍一下帮助类代码以及使用方法 

我们看,我们只需要写好数据库链接语句 ,然后对查询等相关操作写好方法,这样我们只需要需要什么操作时候调用一下这个帮助类里面的方法就可以了。比查询方法的解释

   public int GetByScalar(string sql)//查询{OpenOrCreateCon();SqlCommand cmd = new SqlCommand(sql, con);int i = Convert.ToInt32(cmd.ExecuteScalar());ClosedCon();return i;}
  1. 方法声明

    public int GetByScalar(string sql)
    • ​public​:表示该方法是公开的,可以被其他类或对象访问。
    • ​int​:表示该方法返回一个整数类型的值。
    • ​GetByScalar​:方法的名称。
    • ​string sql​:方法的参数,表示要执行的SQL查询语句。
  2. 打开或创建数据库连接

    OpenOrCreateCon();
    • 调用一个名为 ​OpenOrCreateCon​ 的方法,该方法负责打开或创建一个数据库连接。假设这个方法在类中已经定义,并且 ​con​ 是一个类的成员变量,表示数据库连接对象。
  3. 创建 SqlCommand 对象

    SqlCommand cmd = new SqlCommand(sql, con);
    • 创建一个 ​SqlCommand​ 对象,用于执行SQL命令。​sql​ 参数是要执行的SQL语句,​con​ 是数据库连接对象。
  4. 执行SQL查询并获取标量值

    int i = Convert.ToInt32(cmd.ExecuteScalar());
    • 调用 ​SqlCommand​ 对象的 ​ExecuteScalar​ 方法,该方法执行查询并返回结果集中的第一行第一列的值。
    • ​Convert.ToInt32​ 方法将返回的值转换为整数类型。
  5. 关闭数据库连接

    ClosedCon();
    • 调用一个名为 ​ClosedCon​ 的方法,该方法负责关闭数据库连接。假设这个方法在类中已经定义。
  6. 返回结果

    return i; ​返回转换后的整数值。

总结:

这个方法通过传入的SQL语句执行查询,并返回查询结果中的第一个值(假设是一个整数)。

方法在执行查询前后分别打开和关闭数据库连接。

那么下载好这个类怎么使用呢?

只需要右键添加新建一个类,把里面链接数据库的字符串改成自己的。剩下的全复制进去就可以了

三 .增删改查代码展示 

 private void button1_Click(object sender, EventArgs e){string sql = $"insert into bunk(bks,bbf,bch,blx,bzt) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')";int i = SqlHelper.GetByNonQuery(sql);if (i > 0){MessageBox.Show("登记成功");ShowBunk showBunk = new ShowBunk();showBunk.Show();this.Hide();}else{MessageBox.Show("登记失败");}}

上面代码,我们 只需要获取到添加文本框的名称,然后哦使用 SqlHelper 中的 GetByNonQuery方法就可以了,下面是页面展示 

下面是查询代码展示

  private void button2_Click(object sender, EventArgs e){if (textBox1.Text!=""){string sql = $"select  * from Patientinformation where Pid='" + textBox1.Text + "'";DataTable i = SqlHelper.GetByTable(sql);dataGridView1.DataSource = i;}}

页面展示

下面是修改代码展示

  private void button1_Click(object sender, EventArgs e){string sql = $"update bunk set bzt ='{comboBox1.Text}' where bid='{row.Cells["bid"].Value.ToString()}'";int a = SqlHelper.GetByNonQuery(sql);if (a > 0){MessageBox.Show("修改成功");}}

页面展示

那么上面就是相关代码以及页面展示,有需要可以联系

相关文章:

C# 增删改查教程 代码超级简单

目录 一.留言 二 .帮助类 三 .增删改查代码展示 一.留言 大家好,前几篇文章我们更新了 C# 三层架构的相关代码,主要写了登录,以及增删改查的相关代码,用的三层架构的框架,那么本篇文章一次性更新C#的增删改查相关代…...

OceanBase V4.2特性解析:OB Oracle模式下的 SDO_GEOMETRY 空间数据类型

1. 背景 1.1. SDO_GEOMETRY的应用场景及能力 在数字化城市、物联网和新能源汽车等领域蓬勃发展的背景下,空间数据类型的存储和分析需求日益增长;对于涉及位置信息服务和地理位置信息应用而言,数据库中具备对sdo_geometry数据类型的支持无疑…...

简介面向对象的封装、继承、多态和抽象

面向对象(Object-Oriented)的特点通常归纳为四个核心概念:封装、继承、多态和抽象。 1. 封装(Encapsulation) 定义: 封装是将对象的属性(数据)和方法(操作)打包在一起&…...

OpenCV + CUDA + cuDNN模块编译

简介 在追求高端性能与资源优化并重的应用场景中,如边缘计算设备或资源受限的开发板上运行YOLO等复杂深度学习模型,采用C结合OpenCV与GPU加速技术相较于传统的Python环境展现出显著优势。这种策略不仅极大地提升了执行效率,还显著降低了运行时…...

Redis 缓存预热、雪崩、穿透、击穿

缓存预热 缓存预热是什么 缓存预热就是系统上线后,提前将相关的缓存数据直接加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据!解决方案 使用 PostConstr…...

仿RabbiteMq简易消息队列基础篇(gtest的使用)

TOC gtest介绍 gtest是google的一个开源框架,它主要用于写单元测试,检查自己的程序是否符合预期行为。可在多个平台上使用(包含Linux,MAC OC,Windows等)。它提供了丰富的断言,致命和非致命失败…...

图像处理中的图像梯度和幅值是什么???(通俗讲解)

在边缘检测和特征提取等任务中,图像的梯度和幅值是图像处理中非常重要的概念。 目录 一、图像的梯度1.1 专业解释1.2 通俗理解1.3 计算方式 二、梯度的幅值2.1 专业解释2.2 通俗理解2.3 计算方式 一、图像的梯度 1.1 专业解释 图像的梯度可以看作是图像中亮度或颜…...

01.计算机网络导论

引言 协议分层 协议分层使我们可以将大任务化简成几个更小、更简单的任务。模块化指的是独立的协议层。一个协议层(模块)可以定义为一个具有输入和输出而不需要考虑输入是如何变成输出的黑匣子。当向两台机器提供相同输入得到相同输出时,它…...

API网关:SpringCloud GateWay

一. 网关的作用及背景 1.API网关的作用 请求路由 在我们的系统中由于同一个接口新老两套系统都在使用,我们需要根据请求上下文将请求路由到对应的接口。 统一鉴权 对于鉴权操作不涉及到业务逻辑,那么可以在网关层进行处理,不用下层到业务…...

【Leetcode 383】赎金信 —— 哈希表 有注解

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 输入&#…...

Linux 常见的冷知识集锦

一、前言 本文旨在记录那些常见的Linux概念和名词,但这些又没经常直接使用到,更多在底层运行,见过却又不是特别清楚的碎片知识,以温故知新。 二、知识点和概念说明 2.1、POSIX标准/协议 POSIX(Portable Operating S…...

【喜报】科大睿智祝贺青岛海信网络科技通过CMMI5级评估

​ 青岛海信网络科技股份有限公司成立于1998年,是海信集团B2B产业的核心力量。其主要从事城市交通、公共交通、智慧公路、交通枢纽、智慧停车、智能网联、大数据管理、城市治理、应急管理、轨道交通智能化和医院、校园、园区等智能化建设领域的产品和解决方案开发、…...

2024全国大学生电子设计大赛全国初赛 E题 三子棋游戏装置 一等奖满分最简方案

感想:电赛初赛控制类题还是蛮简单的,别被五花八门的硬件搞懵了(决赛当我没说)。抓住核心,理念都是通用的。我是计科专业的,因此选择的控制类E题,相对来说背的知识要少很多,更考验智商…...

尚品汇-ES(三十一)

目录: (1)封装搜索相关实体对象 (2)搜索接口封装 (3)在service-list-client模块添加远程接口 (1)封装搜索相关实体对象 搜索参数实体:SearchParam 搜索参…...

NC 跳台阶

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 一只青蛙一次…...

linux 文件编程

1. 标准IO 也称为标准输入输出(Standard Input/Output),是计算机编程中一种常见的IO操作方式,特别是在C语言及其衍生语言中广泛使用。它主要通过标准C库中的函数来实现,提供了丰富的接口用于数据的输入和输出。 文本文…...

【后端速成 Vue】实现动态表白墙

前言: 通过前面几篇的文章的讲解,已经学习到了很多的 Vue 指令了,那么现在就将学习到的指令利用起来,做一个小的 demo。 最终效果图: 通过效果图可以发现,一共有这几个功能: ● 渲染列表&…...

【日常开发】 java返回ECharts数据结构封装

java返回ECharts数据结构封装 一、前端页面示例图如下: 二、准备测试数据: 三、后端 格式封装代码: 四、最终结果: 🎈边走、边悟🎈迟早会好 一、前端页面示例图如下: 二、准备测试数据&am…...

Table表格控件实现单选功能

Table表格控件实现单选功能 <el-tableref"tableRef"height"385"style"--el-table-border-color: none"row-key"contractId"highlight-current-rowsingle-selectselect"handleSelect":data"contractInfo">&l…...

AI技术加速落地 港科广联手思谋打开智能缺陷检测新纪元

AI 技术应用落地的元年&#xff0c;工业是主战场&#xff0c;尤其是工业缺陷检测。 在“生产制造-缺陷检测-工艺优化-生产制造”的智能制造闭环链条中&#xff0c;基于AI的智能缺陷检测扮演着“把关者”的角色。但这个把关者长期以来却缺少一个称手的工具——样本量大、精度高…...

Python爬虫开发:BeautifulSoup、Scrapy入门

在现代网络开发中&#xff0c;网络爬虫是一个非常重要的工具。它可以自动化地从网页中提取数据&#xff0c;并且可以用于各种用途&#xff0c;如数据收集、信息聚合和内容监控等。在Python中&#xff0c;有多个库可以用于爬虫开发&#xff0c;其中BeautifulSoup和Scrapy是两个非…...

数据科学、数据分析、人工智能必备知识汇总-----常用数据分析方法-----持续更新

数据科学、数据分析、人工智能必备知识汇总-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/140174015 文章目录 一、对比分析法1. 按时间和地区2. 同比和环比 二、分组分析法三、结构分析法四、交叉分析法五、矩阵分…...

学习vue Router 一 起步,编程式导航,历史记录,路由传参

目录 起步&#xff0c;安装 1. 安装 2. 使用 命名路由 编程式导航 1. 字符串模式 2. 对象模式 3. 命名路由模式 历史记录 replace的使用 横跨历史 路由传参 1. query路由传参 2. 动态路由传参 3. 二者的区别 起步&#xff0c;安装 router 路由 因为vue是单页应用…...

Qt/C++最新地图组件发布/历时半年重构/同时支持各种地图内核/包括百度高德腾讯天地图

一、前言说明 最近花了半年时间&#xff0c;专门重构了整个地图组件&#xff0c;之前写的比较粗糙&#xff0c;有点为了完成功能而做的&#xff0c;没有考虑太多拓展性和易用性。这套地图自检这几年大量的实际项目和用户使用下来&#xff0c;反馈了不少很好的建议和意见&#…...

Laravel + Thinkphp 生成二维码

安装依赖 composer require endroid/qr-code 编写ThinkPhP代码 public function index() {// 创建二维码内容$qrCode new QrCode(Hello World);// 设置二维码的配置$qrCode->setSize(300);$qrCode->setMargin(10);// 获取二维码图像$writer new PngWriter();$result…...

2408C++,C++20的无侵入式反射

原文 C17基于结构绑定的编译期反射 事实上不需要宏的编译期反射在C17中已用得很多了,比如struct_pack的编译期反射就不需要宏,因为C17结构绑定可直接得到一个聚集类的成员的引用. struct person {int id;std::string name;int age; }; int main() {person p{1, "tom&qu…...

抽象工厂模式(Abstract factory pattern)- python实现

抽象工厂模式的通俗示例 想象一下&#xff0c;你正在经营一家家具店&#xff0c;你需要从不同的供应商那里采购不同的家具系列。有的供应商提供的是现代风格家具&#xff0c;包括现代沙发、现代椅子和现代桌子&#xff1b;而有的供应商提供的是古典风格家具&#xff0c;包括古…...

adb Connection reset by peer的解决方法

本文同步发于&#xff1a;https://www.cnblogs.com/yeshen-org/p/18350232 最近在编译一个老项目&#xff0c;项目中依赖了很多第三方库&#xff0c;用gradle编译要20-30分钟&#xff0c;而且内存开销很大。 公司配的15G内存的电脑&#xff0c;一次编译能用到14G。 编译的时候&…...

111111111

1111111111111111111...

搜维尔科技:Varjo XR-4使用UE5 打造最具沉浸感的混合现实环境

Varjo XR-4使用UE5打造最具沉浸感的混合现实环境 搜维尔科技&#xff1a;Varjo XR-4使用UE5 打造最具沉浸感的混合现实环境...