机房收费系统——退卡
来源:互联网 发布:手机号码采集软件 编辑:程序博客网 时间: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
- 机房收费系统——退卡
- 机房收费系统——退卡
- 机房收费系统(一)——退卡操作
- 退卡--机房收费系统
- 机房收费系统之退卡窗体
- 机房收费系统之 退卡流程
- 机房收费系统之退卡
- 机房收费系统之退卡
- 机房收费系统退卡之触发器
- 【第一次机房收费系统】退卡
- 机房收费系统的退卡和结账
- 机房收费系统(二)之下机退卡
- 机房收费系统之七(退卡窗体)
- 机房收费系统之退卡窗体--OLE错误
- 机房收费系统——机房总览
- 机房收费系统—结账
- 机房收费系统—报表
- 机房收费系统—总结
- urlrewrite 地址重写
- C语言的字符串输入输出
- Four rules of recursion
- Java跨平台原理
- 关于镜像文件和虚拟光驱
- 机房收费系统——退卡
- vector使用swap释放内存
- UVA529 Addition Chains (迭代+DFS)
- 聊天室螺旋式体系结构设计——思考过程
- Java程序员,你为什么要关注Scala
- SEO优化-伪静态-URLRewrite 详解
- Maven+Eclipse+Hadoop第一个WordCount
- Scala详解---------Scala是什么?可伸展的语言!
- UVA401map和string的查找返回值