机房收费系统——退卡
生活随笔
收集整理的這篇文章主要介紹了
机房收费系统——退卡
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天第一次驗收,卻出現了很多問題,主要就是在涉及到錢的問題上就比較混亂,出現這個問題的原因也就是因為當時思路沒有理清楚就著急實現功能。出來混遲早要還的,今天自己又再一次驗證了這個理論。已經退了的卡,為什么還能上機,而且卡里還有錢?出現這種情況自己也大吃了一驚,后來又重新理了一遍,現在應該就沒有問題了。
下面就談談怎么退卡:首先是進行一系列的判斷,判斷卡號是否為空,是否為數字,接著進行查詢,然后再進行判斷,判斷卡號是否存在,是否已經退卡,是否正在上機,最后就是對數據的進行操作,更新student_Info表中的status字段為“不使用”,cash=0,并將相應的student_Info表中的部分信息插入到CancelCard_Info表中。
具體思路如圖代碼如下: '判斷卡號是否為空If Not Testtxt(txtCardno.Text) ThenMsgBox "請輸入卡號!", vbOKOnly + vbExclamation, "提示"txtCardno.SetFocusExit SubEnd 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 ThenMsgBox "沒有該卡號!", vbOKOnly + vbExclamation, "提示"txtCardno.SetFocustxtCardno.Text = ""Exit Sub '判斷是否退卡ElseIf Trim(mrc.Fields(0)) = Trim("不使用") ThenMsgBox "此卡已退卡!", 48, "提示"txtCardno.SetFocustxtCardno.Text = ""Exit SubElse '判斷是否正在上機strSQL = "select * from Online_Info where cardno= '" & txtCardno.Text & "'"Set mrcO = ExecuteSQL(strSQL, msgText)If Not mrcO.EOF ThenMsgBox "此卡正在上機,請先下機再退卡!", 48, "提示"txtCardno.SetFocustxtCardno.Text = ""Exit SubEnd 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.AddNewmrcC.Fields(0) = studentNomrcC.Fields(1) = txtCardno.TextmrcC.Fields(2) = CashmrcC.Fields(3) = DatemrcC.Fields(4) = TimemrcC.Fields(5) = UserIDmrcC.Fields(6) = IscheckmrcC.UpdatemrcC.ClosetxtReturnAmount.Text = CashtxtMessage.Text = "退款卡號:" & txtCardno.Text & vbCrLf & vbCrLf & _"應退款金額:" & Cash & vbCrLf & vbCrLf & _"退款日期:" & CancelDate & vbCrLf & vbCrLf & _"退款時間:" & CancelTime & vbCrLf & vbCrLf & _"辦理退卡老師:" & UserIDMsgBox "退卡成功!", 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語句用起來也挺簡單的。
總結
以上是生活随笔為你收集整理的机房收费系统——退卡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我用 PyTorch 复现了 LeNet
- 下一篇: 蒜苗炒肉