.3所示 图3.3 用户管理界面 如果登陆的用户类型是管理员用户管理一项是可用的当单击该子菜单时将会出现用户管理窗口管理员可以对系统用户进行添加和删除操作。
3331 窗体代码设计 1定义一个整型变量DelNO用来存储当前系统用户的数目当DelNOlt1时提示用户不能再删除用户。
在该窗体的通用部分写如下代码 Dim DelNO As Integer 2窗体加载时初始化Listview用以显示系统用户列表代码如下 Private Sub Form_Load 初始化ListView Dim clmX As ColumnHeader Set clmX ListView.ColumnHeaders.Add quot用户名quot ListView.Width / 3 Set clmX ListView.ColumnHeaders.Add quot密码quot ListView.Width / 6 2 Set clmX ListView.ColumnHeaders.Add quot姓名quot ListView.Width / 4 2 Set clmX ListView.ColumnHeaders.Add quot用户权限quot ListView.Width / 4 2 Combo1.Clear Combo1.AddItem quot普通用户quot Combo1.AddItem quot超级用户quot Combo1.ListIndex 0 LoadOperator End Sub 其中调用了LoadOperator函数该函数用来显示和刷新Listview中的数据 Private Sub LoadOperator On Error Resume Next Dim Listit As ListItem ListView.ListItems.Clear ListView.LabelEdit lvwAuto ListView.View 3 Dim ef As New ADODB.Recordset sqlstr quotselect from UserInfoquot ef.Open sqlstr con 1 1 DelNO ef.RecordCount Do While Not ef.EOF gtgt VB学生学籍管理系统论文源程序 Set Listit ListView.ListItems.Add ef.FieldsquotUserIDquot Listit.SubItems1 quotquot 隐藏用户的密码用来替代。
Listit.SubItems2 efquotUserNamequot Listit.SubItems3 efquotUserPowerquot ef.MoveNext Loop Set ef Nothing End Sub 3添加用户 在Textbox中输入了相应的数据以后按添加按钮则调用该按钮的Click事件代码如下 当单击“添加”按钮时首先检查输入的用户名和密码是否为空代码如下 Private Sub Command4_Click If TrimText1.Text quotquot Then MsgBox quot登陆用户名不允许为空quot vbOKOnly 48 quot提示quot Text1.SetFocus Exit Sub End If If InStr1 TrimText1.Text quotquot vbTextCompare Then MsgBox quot用户姓名中有特殊字符quot quotltgt请删除。
quot vbOKOnly 48 quot提示quot Text1.SetFocus Exit Sub End If If TrimText2.Text quotquot Then MsgBox quot密码不能为空请输入密码quot vbOKOnly 48 quot提示quot Text2.Text quotquot Text3.Text quotquot Text2.SetFocus Exit Sub End If End Sub 如果不为空则检查用户名是否有重复需要打开系统信息表 Private Sub Command4_Click ???? sqlstr quotselect from UserInfo where UserIDquot amp Text1.Text amp quotquot rs.Open sqlstr con 1 1 End Sub 如果当前记录不为空则逐条记录检查是否有重复 Private Sub Command4_Click ???? Userid TrimText1.Text Userpwd MD5TrimText2.Text Username TrimText4.Text Userpower TrimCombo1.Text DelNO rs.RecordCount Do While Not rs.EOF ???? rs.MoveNext Loop ???? End Sub 如果有重复则提示已存在这个用户然后将焦点设置给Text1并将所有的文本框清空。
Private Sub Command4_Click ???? Do While Not rs.EOF If Text1.Text rs.FieldsquotUserIDquot Then MsgBox quot已经存在用户名为 quot amp Userid amp quot 的用户帐号quot vbInformation Text1.SetFocus Exit Sub End If rs.MoveNext Loop rs.Close: Set rs Nothing End Sub 如果没有重复再检查两次输入的密码是否一致如果不一致则提示“两次密码不一致”。
Private Sub Command4_Click ???? If TrimText3.Text ltgt TrimText2.Text Then MsgBox quot两次密码不相同请重输入quot vbOKOnly 48 quot提示quot Text2.Text quotquot Text3.Text quotquot Text2.SetFocus Exit Sub End If End Sub 如果以上全部正确无误的设置好了则将新用户的信息添加到数据表中并提示“添加新用户成功”。
Private Sub Command4_Click sqlstr quotinsert into Use