【机房】添加和删除用户
【摘要】
机房收费系统中,管理员可以添加和删除用户。
窗体界面: 更新
一打开就可以查看用户基本信息,对应着用户级别,可查看不同的用户基本信息。
Private Sub ComboUserBank_Clic...
机房收费系统中,管理员可以添加和删除用户。
窗体界面:
更新
一打开就可以查看用户基本信息,对应着用户级别,可查看不同的用户基本信息。
Private Sub ComboUserBank_Click()
If ComboUserBank.Text = "管理员" Or ComboUserBank.Text = "操作员" Or ComboUserBank.Text = "一般用户" Then
Call cmdUpdate_Click '调用更新按钮
End If
End Sub
上面有一个调用更新按钮,因为不需要手动更新,我就把这个按钮隐藏起来了,所以在程序运行的时候,是看不见这个更新按钮的。
这个更新按钮,可以清空之前的记录,然后更新一下数据库里面的数据,并更新在MSHFlexGrid表格中。所以程序运行的时候,是可以直接查看用户级别对应的用户的基本信息的。
Private Sub cmdUpdate_Click()
Dim txtSQL As String
Dim MsgText As String
Dim mrc As Recordset
'清空之前的数据
MSHFlexGrid1.Rows = 2
'添加列名
With MSHFlexGrid1
.CellAlignment = 4
.TextMatrix(1, 0) = "用户ID"
.TextMatrix(1, 1) = "姓名"
.TextMatrix(1, 2) = "开户人"
End With
'查询数据库
txtSQL = "select * from User_Info where Level='" & Trim(ComboUserBank.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
'DO...Loop向表格中添加数据
Do While Not mrc.EOF
With MSHFlexGrid1
.Rows = .Rows + 1
.CellAlignment = 4
.TextMatrix(.Rows - 1, 0) = mrc.Fields(0) '用户ID
.TextMatrix(.Rows - 1, 1) = mrc.Fields(3) '姓名
.TextMatrix(.Rows - 1, 2) = mrc.Fields(4) '开户人
mrc.MoveNext
End With
Loop
mrc.Close
End Sub
添加用户
添加用户用的是一个新的窗体
确定的代码首先要判断各个控件输入内容是否为空,然后连接数据库进行判断用户名是否存在,然后在判断密码输入是否一致,然后就可以更新到数据库中了。
Private Sub cmdOk_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
'判断各个文本框的内容是否为空值
If Testtxt(txtusername.Text) = False Or Testtxt(txtname.Text) = False Or Testtxt(txtcode1.Text) = False Or Testtxt(txtcode2.Text) = False Then
MsgBox "文本框内容不能为空!", 0 + 48, 警告
Exit Sub
End If
'用户等级不能为空
If Testtxt(Combolevel.Text) = False Then
MsgBox "请选择用户级别!", 0 + 48, 警告
Exit Sub
End If
'判断用户名是否已经存在
txtSQL = "select * from user_info where userid='" & Trim(txtusername.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF And mrc.BOF Then
'判断两次密码输入是否一致
If txtcode1.Text = txtcode2.Text Then
txtSQL = "insert into user_info values('" & Trim(txtusername.Text) & "','" & Trim(txtcode1.Text) & "','" & Trim(Combolevel.Text) & "','" & Trim(txtname.Text) & "','" & Username & "')"
Set mrc = ExecuteSQL(txtSQL, MsgText)
MsgBox "添加用户成功!", 0 + 48, 警告
' 清空单元格内容
txtusername.Text = ""
Combolevel.Text = ""
txtname.Text = ""
txtcode1.Text = ""
txtcode2.Text = ""
Exit Sub
Else
MsgBox "两次密码输入不一致!", 0 + 48, 警告
txtcode1.Text = ""
txtcode2.Text = ""
txtcode1.SetFocus
Exit Sub
End If
Else
MsgBox "用户名已经存在!", 0 + 48, 警告
txtusername.Text = ""
txtusername.SetFocus
Exit Sub
End If
End Sub
以上代码需要注意逻辑问题,逻辑没有问题了程序运行就没有问题了。
当然输入的数据还有一系列的限制代码,这里就不再赘述了。
删除用户
删除用户需要注意的是,数据表中的第一行记录是不可以删除,第一行是表头,是不可以删除的。
删除的时候需要判断该用户是否在登陆,登陆的用户是不可以删除的。
Private Sub cmdDelete_Click()
Dim txtSQL As String
Dim MsgText As String
Dim mrc As Recordset
Rem:删除,点击选中一行
MSHFlexGrid1.SelectionMode = flexSelectionByRow '点击的时候选择的是整行
MSHFlexGrid1.FocusRect = flexFocusNone '选中行显示焦点区域
MSHFlexGrid1.HighLight = flexHighlightWithFocus '该值决定了所选定的行突出显示
txtSQL = "select * from User_Info where UserID= '" & Trim(MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 0)) & " '"
Set mrc = ExecuteSQL(txtSQL, MsgText)
Rem:删除,选中一行删除,要考虑表头(第一行)不能删除
With MSHFlexGrid1
.CellAlignment = 4
'起始行
If .RowSel = 0 Then
MsgBox "起始行不能选择,请选择数据", 64, "温馨提示"
Exit Sub
End If
'rowsel为一定范围的单元格返回或设置的起始行和或终止行
'colsel为一定范围的单元格返回或设置的起始列和或终止列
If .RowSel > 0 Then
If mrc.EOF = True Then
MsgBox "列名不可删除!", 64, "温馨提示"
Exit Sub
Else
'判断该用户是否正在登陆
If Trim(.TextMatrix(.RowSel, 0)) = Username Then
MsgBox "该用户正在登录,不能删除", 64, "温馨提示"
Exit Sub
Else
'删除数据库中与选中的行一致的数据(删除查询的数据集)
mrc.Delete
mrc.Close
MSHFlexGrid1.RemoveItem MSHFlexGrid1.RowSel '删除选中的行
MsgBox "用户已删除", 64, "温馨提示"
End If
End If
End If
End With
End Sub
感谢阅读,欢迎斧正~
文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/Laura__zhang/article/details/107459419
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)