机房收费系统----用户登陆软件关闭软件信息在worklog表中的添加

   当机房快要接近尾声的时候,我发现有一个很重要的程序没有做,那就是使用软件的用户登陆和关闭软件的信息获取,也就是在worklog_info表中加信息。

编写过程

1.我们这个时候需要用到标签(标签的使用和作用我之前的博客有提到,不明白的可以看我之前的博客),之前咱们学生管理系统里学到的东西现在就要使用了,锻炼我们举一反三的能力,先在模块里声明全局变量myBookmark,由于myBook不只是在同一个窗体里用,所以用的是全局变量。

'进行声明
Public myBookmark As Variant

2.在登陆窗口界面记录相应的信息,由于现在只是登陆,当我们点击确定登陆按钮时,我们只知道登陆者ID,登陆者时间,登陆日期,以及登陆电脑。所以其他不知道的信息设置先在数据库中设置为空即可,我们之后再添加上。该代码在frmLogin登陆窗口中编写

Private Sub cmdSure_Click()
    Dim a As String
    Dim txtSQL As String
    Dim mrc As ADODB.Recordset
    Dim Msgtext As String
    '判断输入用户名是否为空
    If Trim(txtUserName.Text = "") Then
        MsgBox "请输入用户名", vbOKOnly + vbExclamation, "警告"
        txtUserName.SetFocus
    Else
        txtSQL = "select * from user_info where userid='" & txtUserName.Text & "'"
        Set mrc = ExecuteSQL(txtSQL, Msgtext)
        If mrc.EOF = True Then
            MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
            txtUserName.SetFocus
        Else
            If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then
                OK = True
                a = mrc.Fields(2)
                mrc.Close


                '获取目前已知的登陆者信息
                txtSQL = "select * from worklog_info"
                Set mrc = ExecuteSQL(txtSQL, Msgtext)
                mrc.AddNew
                mrc.Fields(1) = txtUserName.Text
                mrc.Fields(2) = a
                mrc.Fields(3) = Date
                mrc.Fields(4) = Time
                mrc.Fields(7) = GetThisComputerName
                mrc.Fields(8) = "True"
                mrc.Update

                '用标签进行标记
                myBookmark = mrc.Bookmark
                mrc.Close

                '窗体隐藏,显示主窗体
                Me.Hide
                frmMain.Show
                
'                Username = Trim(txtUserName.Text)
            Else
            
                MsgBox "密码输入不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                miCount = miCount + 1
                If miCount = 1 Then
                    MsgBox "还有两次机会", vbOKOnly + vbExclamation, "提示"
                End If
                If miCount = 2 Then
                    MsgBox "还有一次机会", vbOKOnly + vbExclamation, "提示"
                End If
                If miCount = 3 Then
                    End
                End If
                txtPassword.SetFocus
                txtPassword.Text = ""
            End If
        End If
    End If
    

End Sub

3.如果我们关闭机房收费系统软件时,它是直接关闭的,没有任何停留,不能获取到它的关闭时间,所以我们就需要用Queryunload事件(Queryunload事件的具体使用方法见我的上一篇博客),在该事件中,我们编写代码,就可以在数据库中选取到之前没有添加完的那一条信息,继续添加完。此事件在frmMain主窗口中编写。

Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Dim mrc As ADODB.Recordset
    Dim txtSQL As String
    Dim Msgtext As String
    a = MsgBox("您真的要退出吗", vbOKCancel, "提示")
    If a = vbOK Then
        txtSQL = "select * from worklog_info"
        Set mrc = ExecuteSQL(txtSQL, Msgtext)

        '回到标签记录的位置
        mrc.Bookmark = myBookmark
        
        mrc.Fields(5) = Date
        mrc.Fields(6) = Time
        mrc.Fields(8) = "False"
        '完成更新
        mrc.Update
        mrc.Close
        Cancel = 0
    Else
        Cancel = 1
    End If
End Sub

现在我们就完成了,是不是感觉并没有那么难。其实我之前自己还想了一个别的办法,感觉不太好,后来想到了学生管理里的标签,标签的作用真的巨大。我们之前学的东西都是有用的,多动脑,多思考,一切都会容易的。加油!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lllllLiangjia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值