机房收费系统——退卡

来源:互联网 发布:手机号码采集软件 编辑:程序博客网 时间:2024/05/17 08:04

今天第一次验收,却出现了很多问题,主要就是在涉及到钱的问题上就比较混乱,出现这个问题的原因也就是因为当时思路没有理清楚就着急实现功能。出来混迟早要还的,今天自己又再一次验证了这个理论。已经退了的卡,为什么还能上机,而且卡里还有钱?出现这种情况自己也大吃了一惊,后来又重新理了一遍,现在应该就没有问题了。

下面就谈谈怎么退卡:首先是进行一系列的判断,判断卡号是否为空,是否为数字,接着进行查询,然后再进行判断,判断卡号是否存在,是否已经退卡,是否正在上机,最后就是对数据的进行操作,更新student_Info表中的status字段为“不使用”,cash=0,并将相应的student_Info表中的部分信息插入到CancelCard_Info表中。

具体思路如图

代码如下
'判断卡号是否为空    If Not Testtxt(txtCardno.Text) Then        MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "提示"        txtCardno.SetFocus        Exit Sub    End If'新建查询    strSQL = "select status,studentNo,Cash,UserID,Ischeck from student_Info where cardno = '" & txtCardno.Text & "'"    Set mrc = ExecuteSQL(strSQL, msgText)        studentNo = Trim(mrc.Fields(1))    Cash = mrc.Fields(2)    UserID = mrc.Fields(3)    Ischeck = mrc.Fields(4)'判断是否注册    If mrc.EOF Then        MsgBox "没有该卡号!", vbOKOnly + vbExclamation, "提示"        txtCardno.SetFocus        txtCardno.Text = ""        Exit Sub'判断是否退卡    ElseIf Trim(mrc.Fields(0)) = Trim("不使用") Then        MsgBox "此卡已退卡!", 48, "提示"        txtCardno.SetFocus        txtCardno.Text = ""        Exit Sub    Else'判断是否正在上机        strSQL = "select * from Online_Info where cardno= '" & txtCardno.Text & "'"        Set mrcO = ExecuteSQL(strSQL, msgText)                If Not mrcO.EOF Then            MsgBox "此卡正在上机,请先下机再退卡!", 48, "提示"            txtCardno.SetFocus            txtCardno.Text = ""            Exit Sub        End If'更新student_Info表        strSQL = "update student_Info set status = '" & "不使用" & "'" & "where cardno = '" & txtCardno.Text & "'"        Set mrc2 = ExecuteSQL(strSQL, msgText)        strSQL = "update student_Info set cash= '" & Val(0) & "'" & "where cardno = '" & txtCardno.Text & "'"        Set mrcS = ExecuteSQL(strSQL, msgText)'把数据插入到CancelCard_Info表        strSQL = "select * from CancelCard_Info"        Set mrcC = ExecuteSQL(strSQL, msgText)                mrcC.AddNew        mrcC.Fields(0) = studentNo        mrcC.Fields(1) = txtCardno.Text        mrcC.Fields(2) = Cash        mrcC.Fields(3) = Date        mrcC.Fields(4) = Time        mrcC.Fields(5) = UserID        mrcC.Fields(6) = Ischeck        mrcC.Update        mrcC.Close                txtReturnAmount.Text = Cash                txtMessage.Text = "退款卡号:" & txtCardno.Text & vbCrLf & vbCrLf & _                          "应退款金额:" & Cash & vbCrLf & vbCrLf & _                          "退款日期:" & CancelDate & vbCrLf & vbCrLf & _                          "退款时间:" & CancelTime & vbCrLf & vbCrLf & _                          "办理退卡老师:" & UserID                MsgBox "退卡成功!", vbOKOnly + vbExclamation, "提示"    End If
最后在往CancelCard_Info表中插入数据是,也可以使用 insert 语句
    strSQL = "insert into CancelCard_Info values('" & studentNo & "','" & txtCardno.Text & "','" & Cash & "','" & Date & _             "','" & Time & "','" & UserID & "','" & Ischeck & "')"    Call ExecuteSQL(strSQL, msgText)
两种方法实现的功能是一样的,但是我们因为敲学生的问题,一开始都比较习惯用select语句,但是insert语句用起来也挺简单的。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 结婚7年没孩子怎么办 htc手机时间变了怎么办 下的视频没声音怎么办 ipad很卡反应慢怎么办 微信视频声音卡怎么办 苹果6s没有声音怎么办 靠上班工资太低怎么办 楼上太吵怎么办能报警 转页风扇有噪音怎么办 住的地方太吵怎么办 租的房子太吵怎么办 苹果手机音量键坏了怎么办 xp系统声音没了怎么办 柿子烂到窗台上怎么办 小窗户厨房太暗怎么办 抬东西把腰闪了怎么办 搬重东西后腰疼怎么办 闪了腰怎么办一动就疼 窗户的把手断了怎么办 窗户寸漏不了水怎么办 窗户打开关不上怎么办 新装修的房子有甲醛怎么办 橄榄核上油花了怎么办 虫子飞到耳朵里怎么办 手被虫子咬肿了怎么办 梦见牙掉出血该怎么办 黑户急需5万块钱怎么办 家里欠了好多钱怎么办 欠好多网贷我该怎么办 外面欠了很多钱怎么办 欠了好多网贷怎么办 欠那么多钱我该怎么办 急用钱怎么办谁给指条路 晚上睡不着觉怎么办白天又醒不来 胃疼了好几天怎么办 手机移动卡怎么办副卡 大学我好累我怎么办 感觉婚姻很累了怎么办 一个人的心累了怎么办 头被凉水激着了怎么办 人一但懒惰了怎么办