机房收费系统之用户登录

前言

机房敲了一个半月了,之前总是一直修改,需要好好的总结一下,首先是登陆窗体。


登陆窗体:
这里写图片描述


Created with Raphaël 2.1.0 登陆窗体 文本框是否为空 用户是否存在 (user表) 密码是否正确 (user表) 更新onwork, worklog表 登陆成功 yes yes yes

问题及重点代码:
1.问题1实时错误’3704’ 对象关闭时,不允许操作
这里写图片描述

出现这个问题是因为前面写了代码mrc.Close导致后面mrc1调用mrc数据集里面的内容时无法调用。

Trim函数用来删除一个字符串的字头或字尾,删除字符串首尾的空白

End Sub 和Exit Sub的区别:
end sub 是一个过程的结束代码(每一个SUB中必须对应一个END SUB)Exit Sub 是在过程内代码执行时,可选择性的退出过程执行(即不执行Exit sub之后的代码,相当于中途退出的意思),这不是必须的。

所以代码编写的时候不要随便乱加Exit Sub

Private Sub cmdOK_Click()
    Dim txtSQL As String
    Dim txtSQL1 As String
    Dim txtSQL2 As String
    Dim mrc As ADODB.Recordset   '连接user表
    Dim mrc1 As ADODB.Recordset  '连接onwork表
    Dim mrc2 As ADODB.Recordset  '连接worklog表
    Dim MsgText As String

    If Trim(txtUserName.Text = "") Then
        MsgBox "文本框不能输入为空!", vbOKOnly, "提示"
        txtUserName.Text = ""
        txtPassword.Text = ""
    End If

    If Trim(txtPassword.Text = "") Then
        MsgBox "文本框不能输入为空!", vbOKOnly, "提示"
        txtUserName.Text = ""
        txtPassword.Text = ""
    End If

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

    If mrc.EOF Then
          MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly, "提示"
          txtUserName = ""
          txtPassword = ""
    Exit Sub
    End If

        txtSQL = "select * from user_Info where user_PWD = '" & txtPassword.Text & "'and UserID = '" & txtUserName.Text & "'"
        Set mrc = ExecuteSQL(txtSQL, MsgText)

    If mrc.EOF Then
        MsgBox "密码输入不正确,请重新输入密码!", vbOKOnly, "提示"
        txtUserName = ""
        txtPassword = ""
        Exit Sub
    End If

    If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then
        Me.Hide

    Else
        MsgBox "密码不正确,请重新输入密码!", vbOKOnly, "提示"
    End If

        miCount = miCount + 1  '登陆限制
        If miCount > 3 Then
            MsgBox "登陆超过次数限制!", vbOKOnly, "提示"
        End If      '结束条件语句

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

        mrc1.AddNew
        mrc1.Fields(0) = Trim(txtUserName.Text)
        mrc1.Fields(1) = mrc.Fields(2)
        mrc1.Fields(2) = Date
        mrc1.Fields(3) = Time
        mrc1.Update
        mrc1.Close

        txtSQL2 = "select * from worklog_Info"
        Set mrc2 = ExecuteSQL(txtSQL2, MsgText)
        mrc2.AddNew
        mrc2.Fields(0) = Trim(txtUserName)  'Trim函数用来删除一个字符串的字头或字尾,删除字符串首尾的空白
        mrc2.Fields(1) = mrc.Fields(2)
        mrc2.Fields(2) = Date
        mrc2.Fields(3) = Time
        mrc2.Update
        mrc2.Close

MsgBox "登陆成功!", vbOKOnly, "提示"
Me.Hide
frmMain.Show
End Sub

Private Sub Form_Load()

    txtUserName.FontSize = txtUserName.FontSize + 10
    txtPassword.FontSize = txtPassword.FontSize + 10
    Me.Width = Screen.Width * 0.4
    Me.Height = Screen.Height * 0.5
    Left = 0  ' 在水平方向上居中显示。
    Top = 0  ' 在垂直方向上居中显示
End Sub

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 32
    评论
机房收费管理系统 问题描述 结合我校计算机机房的运作模式,设计一种适合的收费管理系统,能够实现相关的人员检索,计时收费,管理汇总等功能模块。 开发环境 采用C或C++实现,VC++6.0 基本要求 主要功能模块: (1) 登录模块 (2) 上机管理模块 说明:上机登记时,余额不足3元或卡处于挂失状态,则拒绝登记。 每位同学的一次上机形成一条记录,每30秒遍历一次上机记录表,对表中所有正上机字段为TRUE的记录的上机用时增加30秒,同时减少上机卡表中的余额。 (3) 上机卡管理模块 (4) 充值挂失模块 (5) 查找统计模块:统计某天上机的总时数、每次上机的平均时数和机房的收入;某学生上机的次数、上机总时数、每次上机平均时间;挂失和查询余额。 参考的数据结构: 上机卡(卡号,姓名,专业班级,余额,状态),状态有:正常和挂失。 上机记录(卡号,上机日期,开始时间,上机用时,正上机,管理号代码) 上机记录表永久保存,用于事后查询和统计。 设计要求 1) 界面友好,输入信息符合逻辑:如上机时间设定在合理的时间范围。 2) 能从实践生活出发,设计合理的功能模块 3) 各类信息的数据结构明晰 4) 可根据自身生活体验添加相关功能模块。 拓展功能要求 鼓励采用Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。鼓励引入小型数据作为处理数据的来源,拓展知识面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值