机房收费系统之上下机
来源:互联网 发布:html label js 编辑:程序博客网 时间:2024/06/06 00:35
前言:
(原文经过更改,将上下机记录分别更新到line表改为,上下机一起更新到line表)
好几天的上下机战争已经结束了。感觉非常轻松并有小小滴成就感。对自己的要求不高,具体的知识大概知道就行了。初步要求就是窗体能够运行。每个人都有每个人的目标嘛。不需要看到别人学的有多好或者自己理解的东西不够多,只要有收获,不抵触,就很好了。
上机流程图展示:
代码展示:
txtSQL = "select * from student_info where cardno = '" & txtcardno.Text & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) txtSQL1 = "select * from basicdata_info" Set mrc1 = ExecuteSQL(txtSQL1, MsgText) txtSQL2 = "select * from line_info" Set mrc2 = ExecuteSQL(txtSQL2, MsgText) txtSQL3 = "select * from online_info" Set mrc3 = ExecuteSQL(txtSQL3, MsgText) lblnumber.Caption = mrc3.RecordCount mrc3.Close '判空 If Trim(txtcardno.Text = "") Then MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "警告" txtcardno.SetFocus Else If Not IsNumeric(txtcardno.Text) Then MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告" Exit Sub txtcardno.SetFocus Else '判断卡号是否存在 If mrc.EOF Then MsgBox "卡号不存在或已注销,请重新输入卡号!", vbOKOnly + vbExclamation, "警告" txtcardno.SetFocus txtcardno.Text = "" txtstudentno.Text = "" txtstudentname.Text = "" txtsex.Text = "" txtdepartment.Text = "" txttype.Text = "" txtcash.Text = "" txtondate.Text = "" txtontime.Text = "" Else '查询余额是否适合上机,余额小于基本数据,则强制下机,可以去充值。余额若大于基本数据,则可以上机。这里要判断用户类型 txtSQL = "select * from student_info where cardno = '" & txtcardno.Text & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) txtSQL1 = "select * from basicdata_info" Set mrc1 = ExecuteSQL(txtSQL1, MsgText) If Trim(mrc.Fields(7)) < Trim(mrc1.Fields(5)) Then MsgBox "余额不多了,请充值后再上机!", vbOKOnly + vbExclamation, "温馨提示" '充值窗口弹出 Else txtSQL3 = "select * from online_info where cardno = '" & txtcardno.Text & "'" Set mrc3 = ExecuteSQL(txtSQL3, MsgText) If mrc3.EOF = False Then MsgBox "此卡正在上机!" '显示数据 txtstudentno.Text = mrc3.Fields(2) txtstudentname.Text = mrc3.Fields(3) txtsex.Text = mrc3.Fields(5) txtdepartment.Text = mrc3.Fields(4) txttype.Text = mrc3.Fields(1) txtcash.Text = mrc.Fields(7) txtondate.Text = mrc3.Fields(6) txtontime.Text = mrc3.Fields(7) Else txtstudentno.Text = mrc.Fields(1) txtstudentname.Text = mrc.Fields(2) txtsex.Text = mrc.Fields(3) txtdepartment.Text = mrc.Fields(4) txttype.Text = mrc.Fields(14) txtcash.Text = mrc.Fields(7) txtondate.Text = Date txtontime.Text = Time '将记录添加到online表 mrc3.AddNew mrc3.Fields(0) = Trim(txtcardno.Text) mrc3.Fields(1) = Trim(txttype.Text) mrc3.Fields(2) = Trim(txtstudentno.Text) mrc3.Fields(3) = Trim(txtstudentname.Text) mrc3.Fields(5) = Trim(txtsex.Text) mrc3.Fields(4) = Trim(txtdepartment.Text) mrc3.Fields(6) = Trim(txtondate.Text) mrc3.Fields(7) = Trim(txtontime.Text) mrc3.Fields(8) = "" mrc3.Fields(9) = Now mrc3.Update mrc3.Close
下机流程图展示:
代码展示:
txtSQL = "select * from student_info" Set mrc = ExecuteSQL(txtSQL, MsgText) txtSQL1 = "select * from basicdata_info" Set mrc1 = ExecuteSQL(txtSQL1, MsgText) txtSQL2 = "select * from line_info" Set mrc2 = ExecuteSQL(txtSQL2, MsgText) txtSQL3 = "select * from online_info" Set mrc3 = ExecuteSQL(txtSQL3, MsgText) '判空 If Trim(txtcardno.Text = "") Then MsgBox "请输入下机卡号!", vbOKOnly + vbExclamation, "警告" txtcardno.SetFocus Else If Not IsNumeric(txtcardno.Text) Then MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告" Exit Sub txtcardno.SetFocus Else '判断卡号是否存在 txtSQL = "select * from student_info where cardno = '" & txtcardno.Text & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = True Then MsgBox "该号未注册或已退卡,请输入有效卡号!", vbOKOnly + vbExclamation, "警告" txtcardno.SetFocus txtcardno.Text = "" Else '判断有没有上机 txtSQL = "select * from online_info where cardno = '" & txtcardno.Text & "'" Set mrc3 = ExecuteSQL(txtSQL, MsgText) If mrc3.EOF = True Then MsgBox "该号没有上机!", 48, "提示" txtcardno.Text = "" Exit Sub Else txtstudentno.Text = mrc3.Fields(2) txtstudentname.Text = mrc3.Fields(3) txtsex.Text = mrc3.Fields(5) txtdepartment.Text = mrc3.Fields(4) txttype.Text = mrc3.Fields(1) txtondate.Text = mrc3.Fields(6) txtontime.Text = mrc3.Fields(7) txtoffdate.Text = Date txtofftime.Text = Time time1 = Trim(DateDiff("n", txtontime.Text, Time)) time2 = Trim(DateDiff("n", txtondate.Text, Date)) '获取基本数据 txtSQL1 = "select * from basicdata_info" Set mrc1 = ExecuteSQL(txtSQL1, MsgText) '上机时间小于准备时间 If Val(time1) + Val(time2) < mrc1.Fields(4) Then time3 = 0 & "" Else '否则是上机时间减去准备时间 time3 = Val(time1) + Val(time2) - Val(mrc1.Fields(4)) End If '更新消费时间 txtconsumetime.Text = Val(time3) '用户消费金额(每小时的钱 ÷ 60分钟 * 消费分钟数 If mrc3.Fields(1) = "固定用户" Then txtconsume.Text = Int(mrc1.Fields(0) / 60 * Val(txtconsumetime.Text)) Else txtconsume.Text = Int(mrc1.Fields(1) / 60 * Val(txtconsumetime.Text)) mrc1.Close End If '得到余额 txtSQL = "select * from student_info where cardno = '" & txtcardno.Text & "'and status='" & "使用" & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) txtcash.Text = Val(Trim(mrc.Fields(7)) - Val(txtconsume.Text)) mrc.Fields(7) = Val(txtcash.Text) mrc.Update mrc.Close '添加下机记录line txtSQL = "select * from Line_Info " 'where cardno= '" & Trim(txtcardno.Text) & "'and ondate='" & Trim(txtondate.Text) & "'and ontime='" & Trim(txtontime.Text) & "'" '增加上机记录 Set mrc2 = ExecuteSQL(txtSQL, MsgText) mrc2.AddNew mrc2.Fields(1) = Trim(txtcardno.Text) mrc2.Fields(2) = Trim(txtstudentno.Text) mrc2.Fields(3) = Trim(txtstudentname.Text) mrc2.Fields(5) = Trim(txtsex.Text) mrc2.Fields(4) = Trim(txtdepartment.Text) mrc2.Fields(6) = Trim(txtondate.Text) mrc2.Fields(7) = Trim(txtontime.Text) mrc2.Fields(8) = Trim(txtoffdate) mrc2.Fields(9) = Trim(txtofftime) mrc2.Fields(10) = Trim(txtconsumetime) mrc2.Fields(11) = Trim(txtconsume) mrc2.Fields(12) = Trim(txtcash) mrc2.Fields(13) = "正常下机" mrc2.Fields(14) = "" mrc2.Update mrc2.Close mrc3.Delete mrc3.Close MsgBox "下机成功!", vbOKOnly, "厉害了" txtcardno.Text = "" txtstudentno.Text = "" txtstudentname.Text = "" txtsex.Text = "" txtdepartment.Text = "" txttype.Text = "" txtcash.Text = "" txtondate.Text = "" txtontime.Text = "" txtoffdate.Text = "" txtofftime.Text = "" txtconsumetime.Text = "" txtconsume.Text = "" End If txtSQL = "select * from online_info" Set mrc3 = ExecuteSQL(txtSQL, MsgText) lblnumber.Caption = mrc3.RecordCount mrc3.Close
当然了过程不是一帆风顺的,但是也从中学到了知识
上下机对照流程图展示:
总结:
不要把困难想的那么难。就算自己解决不了又怎么样,咱上面有人~~~
当然了过程不是一帆风顺的,但是也从中学到了知识
阅读全文
0 0
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 【机房收费系统】之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 机房收费系统之上下机
- 【Scikit-Learn 中文文档】预处理数据
- BZOJ5109:[CodePlus 2017]大吉大利,晚上吃鸡! (最短路+Hash表+二进制压位)
- HDOJ--2082找单词!!!母函数
- 李彦宏:想活150得靠AI,雷军:下代旗舰机更AI | 大佬乌镇论道
- 海量ICLR论文点评公开,用这几个工具可以读得更轻松
- 机房收费系统之上下机
- 谷歌再推AI开源平台AI·ON,你有机会参与Bengio的项目了
- input File实现同时上传多个文件
- “每天AI资讯这么多!该看哪些?”推荐一份优质资料清单
- JVM垃圾收集器
- 机器学习模型评估指标
- D
- 学习笔记_007
- Qt入门之信号与槽机制