删除DataGridView选中行并更新数据库

2024-05-25 14:08

本文主要是介绍删除DataGridView选中行并更新数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  前面写过一篇文章是DataGridView控件显示数据的,DataGridView在与数据库打交道时会经常出现,也很实用。通过DataGridView对数据库进行更改和查询都比较方便。

  这里我们需要用DataGridView数据,并通过选中行将数据从数据库中删除。

  其原理是把选中记录的主键提取出来,然后传给实体,通过实体给D层传值实现对数据库的修改。

  下面是各层代码,供大家参考。

  接口层代码都是D层的父类方法,这里只给出D层代码:

<span style="background-color: rgb(255, 255, 255);"><span style="font-family:KaiTi_GB2312;font-size:18px;">    '重写删除用户接口方法Public Function DelUser(user As Entity.LoginEntity) As Integer Implements IAddDel.DelUserDim strSQL As String = "delete from User_info where userName=@username"Dim params() As SqlParameter = {New SqlParameter("@username", user.user_name)}Dim helper As New SqlHelperDim int = helper.ExecuteNoQuery(strSQL, CommandType.Text, params)Return intEnd Function</span></span>

  抽象工厂代码:

<span style="background-color: rgb(255, 255, 255);"><span style="font-family:KaiTi_GB2312;font-size:18px;">  Private Shared ReadOnly AssemblyName As String = "DAL" '声明程序集名称Private Shared ReadOnly db As String = ConfigurationManager.AppSettings("DB") '读取配置文件Public Function AddDel() As IAddDelDim className As String = AssemblyName + "." + db + "AddDelDAL"Dim iadddel As IAddDeliadddel = CType(Assembly.Load(AssemblyName).CreateInstance(className), IAddDel) '反射Return iadddelEnd Function
</span></span>

  B层代码:

<span style="background-color: rgb(255, 255, 255);"><span style="font-family:KaiTi_GB2312;font-size:18px;">    '判断是否删除成功Public Function IsDelUser(ByVal user As Entity.LoginEntity) As BooleanDim int = iadddel.DelUser(user)If int = 1 ThenReturn TrueElseReturn FalseEnd IfEnd Function</span></span>

  U层代码

<span style="background-color: rgb(255, 255, 255);"><span style="font-family:KaiTi_GB2312;font-size:18px;"> Dim k As Integer = gvwUser.SelectedRows.CountDim thisUser As New Entity.LoginEntityDim ub As New BLL.AddDelBLL'判断是否有选择记录If k > 0 ThenIf MessageBox.Show("删除用户后将无法恢复!是否继续删除?", "提示", MessageBoxButtons.YesNo, _MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then'从下往上删,避免沙漏效应  For i As Integer = k To 1 Step -1'获取用户名thisUser.user_name = gvwUser.SelectedRows(i - 1).Cells("userName").Value.ToString'判断选中用户是否为登录用户If thisUser.user_name = UserName ThenMsgBox("当前用户不能被删除,请重新选择!", vbOKOnly + vbExclamation, "系统提示")Exit SubElseIf ub.IsDelUser(thisUser) = True ThenMsgBox("删除成功!", vbOKOnly + vbInformation, "系统提示")ElseMessageBox.Show("删除失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error)End If'将从数据库中删除的信息从Datagridview1中删除  gvwUser.Rows.RemoveAt(gvwUser.SelectedRows(i - 1).Index)End IfNextEnd IfElseMsgBox("请选中要删除的行")Exit SubEnd IfEnd Sub</span></span>

  效果如下:

  删除前:                                             删除后:






  我们通过DataGridView对数据进行操作更加直观,但是数据无价,操作数据库时一定要谨慎!以免给我们带来不必要的麻烦。必要时删除前要给与提示,是否确定删除,或者提高操作权限,方便操作的前提是保证数据的安全性!

这篇关于删除DataGridView选中行并更新数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1001723

相关文章

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

python删除xml中的w:ascii属性的步骤

《python删除xml中的w:ascii属性的步骤》使用xml.etree.ElementTree删除WordXML中w:ascii属性,需注册命名空间并定位rFonts元素,通过del操作删除属... 可以使用python的XML.etree.ElementTree模块通过以下步骤删除XML中的w:as

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN