机房收费系统之上机

      机房收费系统刚解决了一个组合查询的问题,接着又要放大招了——上下机。关于上下机的问题,可能是因为要考虑的东西太多的原因,觉得很是在最后实现这个功能比较好。要不让打击了自己的积极性,影响了后面的发挥就不好了。下面就说说,我对上下机的理解,虽然会有没有考虑到的地方,但是大致的理解还是有的。

     1、因为在上机的时候,只要输入卡号就可以了,所以要有一个提示。可以用一个label框,在卡号的后面加上提示。

     2、要判断卡号是否为空。

    If Not testtxt(Text1(0).Text) Then
      MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "警告"
      Text1(0).SetFocus
      Text1(0).Text = ""
      Exit Sub
    End If
3、判断卡号是否正确

'卡号添加的是否正确
    txtsql = "select *from student_Info where cardno='" & Text1(0).Text & "'"
    Set mrc = ExecuteSQL(txtsql, msgstring)
    '在最后一行之前查看,卡号是否正确
    If mrc.EOF Then    '如果不正确,则给予警告,重新添加
        MsgBox "此卡不存在或已停止使用", vbOKOnly + vbExclamation, "警告"
        Text1(0).Text = ""
        Text1(0).SetFocus
        
        Exit Sub
    End If
    If Not mrc.EOF Then
      a(0) = mrc.Fields(8)
      a(1) = mrc.Fields(1)
    End If

4、判断余额是否足够上机

'判断余额是否够消费
   txtsql = "select * from basicdata_info"
   Set mrc1 = ExecuteSQL(txtsql, msgstring)
   If Not mrc.EOF Then
      a(2) = mrc1.Fields(0)
      a(3) = mrc1.Fields(1)
   End If
   
    If Trim(a(1)) = "固定用户" Then
       If Val(a(0)) < Val(a(2)) Then
          MsgBox "余额不足,请及时充值", vbOKOnly + vbExclamation, "警告"
          Text1(0).Text = ""
          Text1(0).SetFocus
          Exit Sub
       End If
    End If
    If Trim(a(1)) = "临时用户" Then
       If Val(a(0)) < Val(a(2)) Then
          MsgBox "余额不足,请及时充值", vbOKOnly + vbExclamation, "警告"
          Text1(0).Text = ""
          Text1(0).SetFocus
          Exit Sub
       End If
    End If

5、判断输入卡号是否正在上机

'连接上机数据库
    txtsql = "select *from online_Info where cardno='" & Text1(0).Text & "'"
    Set mrcc = ExecuteSQL(txtsql, msgstring)
    '判断该卡号是否正在上机
    If Not mrcc.EOF Then
        MsgBox "此卡正在上机", vbOKOnly + vbExclamation, "警告"
    '如果正在上机把记录中的数据添加到窗体上
        Text1(0).Text = mrcc.Fields(0)
        For i = 1 To 7
            Text1(i).Text = mrcc.Fields(i)
        Next i
        Text2(4).Text = a(0)
        Exit Sub
   End If
        '如果没有上机,则把一般用户的记录调出放到窗体上
            For i = 0 To 5
                Text1(i).Text = mrc.Fields(i)
            Next
            Text1(6).Text = Date
            Text1(7).Text = Time
            Text2(4).Text = mrc.Fields(8)
        '如果没有上机,则把数据添加到上机表中
        mrcc.AddNew
        If Not mrcc.EOF Then
            mrcc.Fields(0) = Text1(0).Text
            For i = 1 To 7
                mrcc.Fields(i) = Text1(i).Text
            Next i
        
        mrcc.Fields(8) = Environ("username")
        mrcc.Fields(9) = Now
       End If
        mrcc.Update
        mrcc.Close    '关闭上机数据库

6、统计上机人数

'统计上机总数
     txtsql = "select count(*)from online_info"
     Set mrcc = ExecuteSQL(txtsql, msgstring)
      s = mrcc.Fields(0)
    
    Label13.Caption = "当前上机人数为:" & s

7、把数据添到下机表中

'连接下机表
     txtsql = "select * from line_Info "
     Set mrc = ExecuteSQL(txtsql, msgstring)
     mrc.AddNew          '把记录添加到库中
'     If Not mrc.EOF Then
        mrc.Fields(1) = Trim(Text1(0).Text)
      For i = 1 To 7
        mrc.Fields(i + 1) = Trim(Text1(i).Text)
      Next i
      mrc.Fields(14) = Environ("username")
      mrc.Fields(15) = "未结账"
      mrc.Fields(16) = "true"
'    End If
    
    
     mrc.Update
     mrc.Close
【总结】

      在上机功能实现的的过程中,逻辑关系一定要清晰,第一步做什么,接下来做什么,最后做什么,这个关系一定要清楚,有时候我们可能回想不到这么多的问题,这就要求我们把知识变成活的去学,在学习过程中我们需要学会联系实际情况,想想在去图书馆上机、网吧上机的时候的情况。再者就是,我们可以一点点的去完善,等我们想起来某个功能限制的时候,在回来补充。世界那么大,机房要完善的地方那么多,伟大的机房还等着你去拯救,何必在这耗死,迂回包抄,我们可以做的更好。


评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值