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

这篇博客介绍如何通过Java删除DataGridView选中行对应的数据库数据。首先提取选中行的主键,然后通过实体传递给数据访问层(D层)进行数据库操作,最后展示删除操作在接口层、抽象工厂、业务逻辑层(B层)和用户界面层(U层)的代码实现。
摘要由CSDN通过智能技术生成

前面写过一篇文章是DataGridView控件显示数据的,DataGridView在与数据库打交道时会经常出现,也很实用。通过DataGridView对数据库进行更改和查询都比较方便。 这里我们需要用DataGridView数据,并通过选中行将数据从数据库中删除。 其原理是把选中记录的主

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

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

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

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

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

'重写删除用户接口方法

Public Function DelUser(user As Entity.LoginEntity) As Integer Implements IAddDel.DelUser

Dim strSQL As String = "delete from User_info where userName=@username"

Dim params() As SqlParameter = {New SqlParameter("@username", user.user_name)}

Dim helper As New SqlHelper

Dim int = helper.ExecuteNoQuery(strSQL, CommandType.Text, params)

Return int

End Function

抽象工厂代码:

Private Shared ReadOnly AssemblyName As String = "DAL" '声明程序集名称

Private Shared ReadOnly db As String = ConfigurationManager.AppSettings("DB") '读取配置文件

Public Function AddDel() As IAddDel

Dim className As String = AssemblyName + "." + db + "AddDelDAL"

Dim iadddel As IAddDel

iadddel = CType(Assembly.Load(AssemblyName).CreateInstance(className), IAddDel) '反射

Return iadddel

End Function

B层代码:

'判断是否删除成功

Public Function IsDelUser(ByVal user As Entity.LoginEntity) As Boolean

Dim int = iadddel.DelUser(user)

If int = 1 Then

Return True

Else

Return False

End If

End Function

U层代码

Dim k As Integer = gvwUser.SelectedRows.Count

Dim thisUser As New Entity.LoginEntity

Dim ub As New BLL.AddDelBLL

'判断是否有选择记录

If k > 0 Then

If 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 Then

MsgBox("当前用户不能被删除,请重新选择!", vbOKOnly + vbExclamation, "系统提示")

Exit Sub

Else

If ub.IsDelUser(thisUser) = True Then

MsgBox("删除成功!", vbOKOnly + vbInformation, "系统提示")

Else

MessageBox.Show("删除失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error)

End If

'将从数据库中删除的信息从Datagridview1中删除

gvwUser.Rows.RemoveAt(gvwUser.SelectedRows(i - 1).Index)

End If

Next

End If

Else

MsgBox("请选中要删除的行")

Exit Sub

End If

End Sub

效果如下:

删除前: 删除后:

9a5c8e520599b5104a5d85df526caefa.png

60f6ecd9e8be8b4162676f52cd11ac25.png

83ca60b1daa92fe6095dfadd4521f884.png

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值