机房收费系统--上机

检查一个卡号能否使用,需要检查以下几点:


只有这几点同时满足,此卡才能正常上机。

1、当然不用多说,不输入卡号当然不能使用。

2、与要求的最小余额进行比较,小于最小余额则禁止上机使用

3、此卡没用注册,注册表中没有这条记录

4、次卡正在处于上机状态,提示正在上机,一卡禁止重复上机使用

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

下面的这段代码仅为借鉴使用,由于当初刚做,所以代码不规范。

Private Sub Command1_Click()
   Dim mrc As ADODB.Recordset         ' adodb是动态数据链接对象    Recordset 是adodb的一个子类 (数据集,数据表在内存的映射)
    
    Dim txtsql As String


    Dim msgtext As String    '声明定义


    Dim mrc1 As ADODB.Recordset   '链接数据库
    Dim mrc2 As ADODB.Recordset
    Dim mrc3 As ADODB.Recordset
    Dim mrc4 As ADODB.Recordset






    '判断卡号是否为空
    If Testtxt(cardno.Text) = False Then
       MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "提示"
       cardno.SetFocus
       Exit Sub
    End If
    
    Set mrc1 = New ADODB.Recordset
    txtsql = "select * from student_Info where cardno='" & cardno.Text & "'"
    Set mrc1 = ExecuteSQL(txtsql, msgtext)
    
    '判断该卡是否存在
    If mrc1.EOF And mrc1.Bof Then
       MsgBox "该卡号未注册!", vbOKOnly + vbExclamation, "提示"
       cardno.Text = ""
       cardno.SetFocus
       Exit Sub
    Else
    '判断余额是否充足


         txtsql = "select * from BasicData_info"
         Set mrc2 = ExecuteSQL(txtsql, msgtext)
         
         
        If Trim(mrc1.Fields(14)) = "固定用户" Then
            If mrc1.Fields(7) < mrc2.Fields(5) Then
                MsgBox "余额只有" & mrc1.Fields(7) & "元,余额不足,请充值后再上机!", 0 + 1 + 48, "提示"
                cardno.Text = ""
                Call frmrecharge.Show
                mrc1.Close
                
                Exit Sub
            End If
        Else
            If mrc1.Fields(7) < mrc2.Fields(5) Then
                    MsgBox "您是临时用户,余额为" & mrc1.Fields(7) & "元,余额不足,请充值后再上机", 0 + 48, "提示"
                    cardno.Text = ""
                    mrc1.Close
                    Exit Sub
            End If
    End If
    
''    判断该卡号是否正在上机


           txtsql = "select * from OnLine_Info where cardno='" & cardno.Text & "'"
           Set mrc4 = ExecuteSQL(txtsql, msgtext)
    If mrc4.EOF = False Then
           MsgBox "该卡正在上机!", vbOKOnly + 48, "提示"
           cardno.Text = ""
           cardno.SetFocus
           Exit Sub
    Else
           studentNo.Text = Trim(mrc1.Fields(1))       ' Trim 的作用是返回 Variant (String),其中包含指定字符串的拷贝,没有前导空白 (LTrim)、尾随空白 (RTrim) 或前导和尾随空白 (Trim)。
           studentName.Text = Trim(mrc1.Fields(2))  'LTrim 及 RTrim 函数将某字符串的开头及结尾的空格全部去除。只使用 Trim 函数也可以做到将两头空格全部去除。
           cardtype.Text = Trim(mrc1.Fields(14))
           sex.Text = Trim(mrc1.Fields(3))             '一个数据库中的一个表的第几个字段
           department.Text = Trim(mrc1.Fields(4))       '系别从数据库中的表中的第几个字段 来赋值
           ondate.Text = Date
           ontime.Text = Time
           leastmoney.Text = Trim(mrc1.Fields(7))
           


           '将上机的信息添加到OnLine_Info表中
           Set mrc3 = New ADODB.Recordset
           txtsql = "select * from OnLine_Info "
          
           Set mrc3 = ExecuteSQL(txtsql, msgtext)
           mrc3.AddNew
           mrc3.Fields(0) = Trim(cardno.Text)
           mrc3.Fields(1) = Trim(cardtype.Text)
           mrc3.Fields(2) = Trim(studentNo.Text)
           mrc3.Fields(3) = Trim(studentName.Text)
           mrc3.Fields(4) = Trim(department.Text)
           mrc3.Fields(5) = Trim(sex.Text)
           mrc3.Fields(6) = Trim(ondate.Text)
           mrc3.Fields(7) = Trim(ontime.Text)
           mrc3.Fields(8) = Trim(Winsock1.LocalHostName)
           mrc3.Update
           
         Label16.Caption = mrc3.RecordCount
        mrc3.Update
        mrc3.Close
    End If
  End If
End Sub




上机用了三个表中的内容 分别是student_info 、BasicData_info、 OnLine_Info 。所以做上机的时候一定要先搞清楚数据库中每个之间的联系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
机房收费管理系统 问题描述 结合我校计算机机房的运作模式,设计一种适合的收费管理系统,能够实现相关的人员检索,计时收费,管理汇总等功能模块。 开发环境 采用C或C++实现,VC++6.0 基本要求 主要功能模块: (1) 登录模块 (2) 上机管理模块 说明:上机登记时,余额不足3元或卡处于挂失状态,则拒绝登记。 每位同学的一次上机形成一条记录,每30秒遍历一次上机记录表,对表中所有正上机字段为TRUE的记录的上机用时增加30秒,同时减少上机卡表中的余额。 (3) 上机卡管理模块 (4) 充值挂失模块 (5) 查找统计模块:统计某天上机的总时数、每次上机的平均时数和机房的收入;某学生上机的次数、上机总时数、每次上机平均时间;挂失和查询余额。 参考的数据结构: 上机卡(卡号,姓名,专业班级,余额,状态),状态有:正常和挂失。 上机记录(卡号,上机日期,开始时间,上机用时,正上机,管理号代码) 上机记录表永久保存,用于事后查询和统计。 设计要求 1) 界面友好,输入信息符合逻辑:如上机时间设定在合理的时间范围。 2) 能从实践生活出发,设计合理的功能模块 3) 各类信息的数据结构明晰 4) 可根据自身生活体验添加相关功能模块。 拓展功能要求 鼓励采用Turbo C/C++、MFC等开发工具,实现彩色或图形操作界面。鼓励引入小型数据作为处理数据的来源,拓展知识面。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值