机房收费系统再遇登陆

前几天让师傅验收了机房,本来觉得自己弄的挺好的,但是事实就是弄得差远了!很桑心啊!不过呢咱也不是没有收获,又知道了很多以前没想过的问题。拿登陆窗体来说,我居然忘了让不同的人登陆会有不同的权限,当然这个小小的问题被我轻松解决了(不就是添加判断么)。然而师傅说的另一个问题不允许多人登陆就不太明白了,为啥不能多人登陆,那这么多用户啊,管理员啊啥的不让登陆要他们干啥-_-不过呢后来我想了想觉得应该是这样,什么一般用户,管理员可以登录,但是另一类人就不行了,他们就是-操作员。为什么呢?因为这个操作员就是我们的登陆教师,它联系着一个表-正在值班教师表如果你允许操作员重复登陆那么当管理员进行正在值班教师查询是就会有多条数据,那他肯定就糊涂了,怎么这么多正在值班教师,而且还是同一个人反复值班。所以呢在这里我们也要添加判断,当我们登陆操作员是先检查正在值班教师表中是否有数据,如果有提示有教师登陆,不需要重复登陆,如果没有呢就添加数据到表中并显示主窗体。当然了,一个教师总会在多个地方值班,只需要判断教师名称和电脑名就行,这就完成了判断。

        txtSQL = "select * from User_Info where userID = '" & txtUserName.Text & "'"  
        Set mrc = ExecuteSQL(txtSQL, MsgText)

        txtSQL2 = "select * from onwork_Info where computer = '" & "公子电脑" & "'"     '查询正在值班教师表
        Set mrc2 = ExecuteSQL(txtSQL2, MsgText)

        txtSQL1 = "select * from onwork_Info "
        Set mrc1 = ExecuteSQL(txtSQL1, MsgText)

        If mrc1.RecordCount > 0 And Trim(mrc.Fields(1)) = Trim(txtPassword.Text) And Trim(mrc.Fields(2)) = "操作员" And mrc2.EOF = False Then
            MsgBox "已有教师登陆管理,不用重复登陆,如有需要请通知管理员!", vbOKOnly + vbExclamation, "警告"
            txtUserName.Text = ""
            txtPassword.Text = ""
        Else
        If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) And Trim(mrc.Fields(2)) = "操作员" Then
                 mrc1.AddNew
                 mrc1.Fields(0) = mrc.Fields(0)
                 mrc1.Fields(1) = mrc.Fields(2)
                 mrc1.Fields(2) = Date
                 mrc1.Fields(3) = Time
                 mrc1.Fields(4) = "公子电脑"
                 mrc1.Update
                 End If
         End If
                 If Trim(mrc.Fields(2)) = "一般用户" Then
                 frmMain.bbb.Enabled = False
                 frmMain.ccc.Enabled = False
                 End If
                 If Trim(mrc.Fields(2)) = "操作员" Then
                 frmMain.ccc.Enabled = False
                 End If
                 If Trim(mrc.Fields(2)) = "管理员" Then
                 frmMain.aaa.Enabled = True
                 frmMain.bbb.Enabled = True
                 frmMain.ccc.Enabled = True
                 End If

    If Trim(txtUserName.Text = "") Then        '验证用户名
        MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
        txtUserName.SetFocus
    Else
        If mrc.EOF Then
            MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
            txtUserName.SetFocus
        Else
            If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then
                OK = True
                Me.Hide
                frmMain.Show
                username = Trim(txtUserName.Text)
            Else
                MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                txtPassword.SetFocus
                txtPassword.Text = ""
            End If
        End If
    End If

我上面写的这段代码还有很大改进的地方,如果对各位有帮助呢请自行改之!
最后给看我博客的小伙伴提个问题:为什么我登陆窗体点击确定之后会出现两个一样的主窗体?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值