(四)充值-机房收费系统

充值的思路:

在注册之后会对卡进行充值,充值需要注意一下机的问题,充值就是在上机过程中保持卡中有足够的钱上机,充值操作属于操作员。

1卡号存在(文本框中不为空)

2.充值金额不低于最小金额

3.退卡不能充值

4.显示金额是充值的金额加卡内余额

充值的流程图


充值的代码:

Private Sub cmdOK_Click()
Dim mrc As ADODB.Recordset
Dim mrcc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
Dim a As String
Dim b As String
'任务一:不允许不输入
    If txtCardNo.Text = "" Or txtCash.Text = "" Then
        MsgBox "请输入姓名和充值金额"
    Else
'任务二: 如何能充值,卡号存在,并在使用状态
        txtSQL = "select * from student_info where cardNo = '" & Trim(txtCardNo.Text) & "'"
        Set mrcc = ExecuteSQL(txtSQL, MsgText)

            If mrcc.EOF Then '        光标可以移动到这一行所以数据库中没有相应的卡号
                MsgBox "卡号不存在,请重新输入卡号", vbOKOnly + vbExclamation, "提示"
                txtCardNo.Text = ""
                txtCardNo.SetFocus
                Exit Sub
            Else
'任务三:查询卡是否在使用状态
        txtSQL = "select * from student_info where cardNo = '" & Trim(txtCardNo.Text) & "' and status = '" & "使用" & "'"
        Set mrcc = ExecuteSQL(txtSQL, MsgText)
        If mrcc.EOF Then '        光标可以移动到这一行所以数据库中没有相应的卡号
            MsgBox "该卡已退卡,请激活,或重新输入卡号。", vbOKOnly + vbExclamation, "提示"
            txtCardNo.Text = ""
            txtCardNo.SetFocus
            Exit Sub
        Else
'任务四;查询需要的学号
                a = mrcc.Fields(1)
                b = mrcc.Fields(7)
'任务五:不能少于最小金额
         If Val(txtCash.Text) <= Val(frmBasicData.txtMinCash.Text) Then
         MsgBox "充值金额不能少于最小金额!", vbOKOnly + vbExclamation, "警告"
         txtCash.Text = ""
         txtCash.SetFocus
         Else
'任务六:把值附到充值表中
            txtSQL = "select * from ReCharge_info"
            Set mrc = ExecuteSQL(txtSQL, MsgText)
            
            mrc.AddNew
       
            mrc.Fields(1) = Trim(a)
            mrc.Fields(2) = Trim(txtCardNo.Text)
            mrc.Fields(4) = Date
            mrc.Fields(5) = Time
            mrc.Fields(6) = UserName
            mrc.Fields(7) = "未结账"
            mrc.Fields(3) = Trim(txtCash.Text)
    
            mrc.Update
'任务六:显示信息
'            充值之前的钱数需要记录,一共有多少钱金额需要记录,时间日期,老师
            txtShow.Text = "充值卡号:" & mrc.Fields(2) & vbCrLf & vbCrLf & "上次卡内的余额:" & b & vbCrLf & vbCrLf & "现在卡内的余额:" & b + mrc.Fields(3) & vbCrLf & vbCrLf & "充值日期:" & mrc.Fields(4) & vbCrLf & vbCrLf & "充值时间:" & mrc.Fields(5) & vbCrLf & vbCrLf & "充值老师:" & UserName & vbCrLf
    
            mrc.Close
'任务七:把信息添加到学生表中,更新相应信息
            txtSQL = "select * from student_info where cardno = '" & Trim(txtCardNo.Text) & "'"
            Set mrcc = ExecuteSQL(txtSQL, MsgText)
            
            mrcc.Fields(7) = Val(Val(Trim(b)) + Val(Trim(txtCash.Text)))
            mrcc.Update
            mrcc.Close
            MsgBox "保存成功", vbOKOnly + vbExclamation, "警告"
            
            txtShow.Text = ""
            txtCardNo.Text = ""
            txtCash.Text = ""
            

           
          
        End If
 End If
 End If
 End If
End Sub

总结 :


充值与注册很像,都是添加信息,不同的是充值会有一小点修改,注册需要注意的问题,退卡的卡号不能重复注册,退卡的卡号不能上机,信息需要写全。

从注册,充值,退卡,这里是机房一条线,逐渐对机房思路清晰了起来。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值