机房收费中删除用户,要实现删除选中行,总体思路:先删除数据库中的记录,再显示在DateGridView中
界面:
U层:
Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click
Dim userBLL As New UserBLL
Dim user As New UserEntity
Dim strUserID As String
Dim dt As New DataTable
If cmbLevel.Text = "" Then
MsgBox("请先选择用户级别", vbInformation, "提示")
Else
strUserID = DGV1.CurrentRow.Cells("userID").Value.ToString() '获取选中行的用户名
user._userID = strUserID
user._level = cmbLevel.Text
If userBLL.delUser(user) = True The'从数据库中先删除记录
dt = userBLL.manageUser(user) '按照选中的级别重新查找记录
DGV1.DataSource = dt
DGV1.AutoGenerateColumns = False
DGV1.Refresh()
MsgBox("删除成功")
End If
End If
End Sub
End Class
B层:
''' <summary>
''' 删除用户信息
''' </summary>
''' <param name="enUser">用户实体的UserID</param>
''' <returns>Boolean</returns>
''' <remarks></remarks>
Public Function delUser(ByVal enUser As UserEntity) As Boolean
Dim userDAl As New UserDAL
If userDAl.DelUser(enUser) > 0 Then
Return True
Else
Return False
End If
End Function
''' <summary>
''' 管理用户,根据级别查询信息
''' </summary>
''' <param name="enUser">用户实体的Level</param>
''' <returns>DataTable</returns>
''' <remarks></remarks>
Public Function manageUser(ByVal enUser As UserEntity) As DataTable
Dim userDAL As New UserDAL
Dim dt As New DataTable
dt = userDAL.ManageUser(enUser)
Return dt
End Function
D层:
''' <summary>
''' 删除用户时,根据用户名删除
''' </summary>
''' <param name="enUser">用户实体的UserID</param>
''' <returns>受影响的行数</returns>
''' <remarks></remarks>
Public Function DelUser(ByVal enUser As UserEntity) As Integer
Dim sqlHelper As New SqlHelper
Dim strCon As String
strCon = "delete from T_User where userID= '" & enUser._userID & "'"
Return sqlHelper.ExecAddDelUpdate(strCon, CommandType.Text)
End Function
End Class
''' <summary>
''' 管理用户时选择级别显示信息
''' </summary>
''' <param name="enUser">用户实体的Level</param>
''' <returns>DataTable</returns>
''' <remarks></remarks>
Public Function ManageUser(ByVal enUser As UserEntity) As DataTable
Dim sqlHelper As New SqlHelper
Dim strCon As String
strCon = "select userID,level,head from T_User where level= '" & enUser._level & "'"
Return sqlHelper.ExecSelect(strCon, CommandType.Text)
End Function
功能的实现先有宏观把控,确定整体思路,再具体实现就简单的多。