機房收費系統之DataGridView

來源:互聯網
上載者:User

標籤:機房收費系統   datagridview   vb.net   

          在我們平時的學習中不少見用到將資料庫與介面串連的一個控制項——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 [email protected]"        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.通過點擊刪除按鈕來實現這個過程:

 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
          僅僅是個人的一點想法,希望和大家交流!
   


相關關鍵詞:
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.