机房收费系统之DataGridView
来源:互联网 发布:腾讯数据分析大师 编辑:程序博客网 时间:2024/05/24 15:42
在我们平时的学习中不少见用到将数据库与界面连接的一个控件——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 Function2、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 Function3、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 Subb.通过点击删除按钮来实现这个过程:
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仅仅是个人的一点想法,希望和大家交流!
1 0
- 机房收费系统之DataGridView
- 【机房收费系统】DataGridView控件的使用
- 【机房收费系统】 之 收费模式
- 机房收费系统之临时收费金额
- 机房收费系统之模块
- 机房收费系统之结账
- 机房收费系统之报表
- 机房收费系统之结账
- 机房收费系统之DTPicker
- 机房收费系统之报表
- 机房收费系统之结账
- 机房收费系统 之结账
- 机房收费系统之表
- 机房收费系统之结尾
- 机房收费系统之报表
- 机房收费系统之CDM
- 机房收费系统之用例图
- 机房收费系统之初探
- python4
- 长颈鹿类对动物类的继承
- 代码收藏
- 读取URl并将其源码保存
- xcode 无法识别iPad,iPhone真机的问题
- 机房收费系统之DataGridView
- 对文件的操作--建立移动删除文件夹
- 程序员,闯天下----一个文科生的10年编程之旅和创业之路
- win7下虚拟机安装linux
- 一段不错的代码,动态效果
- 一个很好的效果,隐藏表格
- truts1入门实例(简单登录)
- some tips about shell variables
- asp.net用户注册时的验证