做机房有一段时间了,下面总结一下机房收费系统,如何实现充值的功能的。
当卡号不存在时,给出提示。如果存在将数据(充值金额)增加到充值表中。
然后在把数据更新到学生表中,学生表中的金额为:充值金额+原有金额。
Private Sub Command1_Click()
Dim mrc As ADODB.Recordset ' adodb是动态数据链接对象 Recordset 是adodb的一个子类 (数据集,数据表在内存的映射)
Dim txtsql As String
Dim msgtext As String
Dim cash1 As Integer
Dim cash2 As Integer
Dim student As String '获取学号
txtsql = "select * from student_Info where cardno='" & cardno.Text & "'" '在student表中查询卡号是否存在
Set mrc = ExecuteSQL(txtsql, msgtext)
If mrc.EOF = True Then
MsgBox "卡号不存在,请重新输入!", vbOKOnly + vbExclamation, "警告" '当卡号不存在时,给出提示
cardno.SetFocus
Else
txtsql = "SELECT * FROM student_Info WHERE cardno = '" & Trim(cardno.Text) & "' " '如果存在,查询原来金额
Set mrc = ExecuteSQL(txtsql, msgtext)
student = mrc.Fields(1)
cash1 = mrc.Fields(7)
a = mrc.Fields(9)
txtsql = "INSERT INTO ReCharge_Info(studentNo,cardno,addmoney,date,time,UserID,status) VALUES('" & student & "','" & cardno & "','" & addmoney & "', '" & Date & "', '" & Time & "', '" & a & "', '未结账')"
Set mrc = ExecuteSQL(txtsql, msgtext) '进行充值,将给出的提示与 充值表中相对应
cash2 = cash1 + addmoney.Text '总金额数=原有金额数+充值金额数
txtsql = "UPDATE student_Info set cash = '" & cash2 & "' where cardno = '" & cardno.Text & "'"
Set mrc = ExecuteSQL(txtsql, msgtext) '更新到学生表中
Text3.Text = "充值卡号:" & cardno.Text & vbCrLf & vbCrLf & _
"充值金额:" & cash2 & vbCrLf & vbCrLf & _
"充值日期:" & Date & vbCrLf & vbCrLf & _
"充值时间:" & Time & vbCrLf & vbCrLf & _
"办理充值老师:" & a
End If
End Sub