机房系统(三)——【充值 & 退卡 】

前言
充值在我们的日常生活中随处可见。新办理的手机卡号,为保证在无WiFi的情况下,我们可以使用,不与外界失联,手机卡号里面要有钱,我们才能正常上网、接打电话等。注册完卡号信息后,为保证这个卡能为我们正常所用,卡里需要有足够的金额。所以,就需要我们时常进行充值。如果不想要这个手机卡号了,我们就得注销掉,卡里面的钱会返还给我们,或者转到自己其他的手机卡号里。如果不想要在机房里办的卡了,我们也得需要退卡,然后把卡里面的余额退还给我们。
正文
在机房系统这个项目里,充值窗体和退卡窗体的思路是大致相同的,理清楚其中之一,另一个就很好办了。以充值为例,下面是小编做的流程图:

在这里插入图片描述


实现上述功能的部分代码如下:
  '查找student表中信息
    txtSQLStu = "select * from student_Info where cardno='" & txtCardNo.Text & "'"
    Set mrcStu = ExecuteSQL(txtSQLStu, MsgTextStu)

 '查询基础数据设定表的最低充值金额
    txtSQLBD = "select * from BasicData_Info"
    Set mrcBD = ExecuteSQL(txtSQLBD, MsgTextBD)
    b = mrcBD.Fields(5)


   '卡号不存在
    If mrcStu.EOF = True Then   '如果记录集指针指到最后一条记录,没有找到相应的卡号信息,弹出提示
        MsgBox "卡号不存在,请重新输入!", 48, "温馨提示:"
        txtCardNo.SetFocus  '卡号文本框获得焦点
        txtCardNo.Text = ""
        txtCash.Text = ""

   Else
        '卡号存在,但已停用
        If Trim(txtCardNo.Text) = Trim(mrcStu.Fields(1)) And Trim(mrcStu.Fields(10)) = "不使用" Then
                MsgBox "此卡已停用,请您输入正确卡号信息。", 48, "温馨提示!"
                txtCardNo.Text = ""
                txtCash.Text = ""
                txtCardNo.SetFocus
        Else
                '判断充值金额是否满足最低要求
                If Val(txtCash.Text) < b Then
                    MsgBox "输入金额不得低于设置的最低金额20元。", 48, "温馨提示:"
                    txtCash.SetFocus
                    txtCash.Text = ""
                    
                Else


                   '连接recharge/student表,添加充值信息,并更新表
                    txtSQLRe = "select * from ReCharge_Info"
                    Set mrcRe = ExecuteSQL(txtSQLRe, MsgTextRe)
                    
                    txtSQLStu = "select * from student_Info where cardno='" & txtCardNo.Text & "'"
                    Set mrcStu = ExecuteSQL(txtSQLStu, MsgTextStu)
                    
                    studentNo = mrcStu.Fields(1)
                    cashPass = mrcStu.Fields(7)
                    cashNow = cashPass + txtCash.Text       '计算充值之后,即现在的总金额=以前金额+本次充值金额
                    .
                    .
                    .
                    .
                    .
                    .
                    .

在这里要特别注意的地方就是,充值金额的计算。在基础数据设定中,已经设定了充值的最低金额,充值时候就派上用场了。在更新表之前,先要获取当前卡里的金额,然后再计算充值后的金额。
退卡和充值类似,小编做出的流程图如下:

在这里插入图片描述


结语
没有白做的一步,每做一步都算数。这周在敲机房的过程中,对数据库中各个表的理解又加深了许多。发现了之前在敲的过程中,有些地方连接的数据表是不全面的。发现了就及时补充上,让它们形成闭合循环。

猜你喜欢

转载自blog.csdn.net/LZ15932161597/article/details/83962482