zoukankan      html  css  js  c++  java
  • 间支付系统,DataGridView

              我们通常看到很多的学习使用控制数据库和接口连接——DataGridView,在我们的房间,当我们敲开使用第一遍阶段似该控件——MSHFlexGrid,随着学习的深入,发现我们用到的平台越来越人性化了,如今用的VS2013的控件——DataGridView能够直接和数据库相连接,今天重点说一下DataGridView删除行并同一时候更新数据库功能的实现:

            这是删除前的效果,我们要实现的是如图的效果,左图为界面。右图为数据库中的数据。可是还须要考虑要删除的用户是否正在登录。假设正在登录。则不能删除。

            

          删除后的效果:

            

                实现这个功能主要是在U层加了一个方法,B层、D层和其它删除时是大相径庭的,以下看一下代码实现部分:

                1、D层:   

      Public Function DelUser(enUser As UserInfoEntity) As Integer Implements IUserInfo.DelUser
            Dim cmdText As String
            Dim sqlParams As SqlParameter()
            Dim sqlHelper As New SqlHelper
            Dim intResult As Integer
    
            cmdText = "Delete from T_UserInfo where UserID=@UserID"
            sqlParams = {New SqlParameter("@UserID", enUser.UserID)}
            intResult = sqlHelper.ExecuteAddDelUpdate(cmdText, CommandType.Text, sqlParams)
    
            Return intResult
        End Function
              2、B层:    

     Public Function DelUser(ByVal enUser As UserInfoEntity) As Integer
            Dim iUserInfo As IUserInfo
            Dim intResult As Integer
    
            iUserInfo = factory.CreateSelectUser()
            intResult = iUserInfo.DelUser(enUser)
    
            Return intResult
    
        End Function
             3、U层:

                  a.定义一个删除行的过程:

     ''' <summary>
        ''' 删除用户的自己定义过程
        ''' </summary>
        ''' <remarks></remarks>
        Public Sub DelUser()
            Dim intRows As Integer = DataGridView1.SelectedRows.Count '推断选中的行数
            Dim intDelRow As Integer
            Dim enUser As New UserInfoEntity
            Dim bllAddDelUser As New AddDelUserBLL
            Dim strUserID As String '获取选中数据的第一列值
            Dim intResult As Integer
    
            If intRows > 0 Then
                '从下往上删除,防止漏行
                For intDelRow = intRows To 1 Step -1
                    strUserID = DataGridView1.SelectedRows(intDelRow - 1).Cells("UserIDDataGridViewTextBoxColumn").Value.ToString()
                    '假设该用户正在工作,则不能删除
                    If pubshare.strUserName = strUserID.Trim() Then
                        MsgBox("该用户正在工作,不能删除", vbOKOnly + vbExclamation, "提示")
                        Exit Sub
                    Else
                        '将要删除的用户ID传给实体
                        enUser.UserID = strUserID
                        '同一时候将该实体的信息从数据库中删除
                        intResult = bllAddDelUser.DelUser(enUser)
                        If intResult > 0 Then
                            '将数据库中所删除的相应的信息在dataGridview表中也删除
                            DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(intDelRow - 1).Index)
                            MsgBox("删除成功", vbOKOnly + vbExclamation, "提示")
                        Else
                            MsgBox("删除失败", vbOKOnly + vbExclamation, "提示")
                        End If
                    End If
    
                Next
            Else
                DataGridView1.Rows.Clear()
            End If
        End Sub
                  b.通过点击删除button来实现这个过程:

     Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click
            If DataGridView1.SelectedRows.Count > 0 Then
                If MessageBox.Show("确定要删除所选信息吗?", "提示", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
                    DelUser()
                End If
            Else
                MessageBox.Show("请选择要删除的用户!

    ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Return End If End Sub

              不过个人的一点想法,希望和大家交流!
       


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    前端开发神器
    React表单明文密文切换,携带禁止浏览器自动回填,简单验证提示功能
    webapp 虚拟键盘隐藏留下空白解决办法
    jQuery常用表单事件执行顺序
    localStorage+cookie实现存取表单历史记录
    js.cookie.js使用方法
    H5超细边框
    JS删除数组中某个元素
    JS获取地址栏参数(支持中文)
    React书写规范
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4658515.html
Copyright © 2011-2022 走看看