机房收费系统之手动下机(获取时间差、更新数据库数据、判断时间差)
程序员文章站
2022-06-21 17:44:19
...
下机窗体的梳理着实耗费了不少时间,的确是一个费脑细胞的活儿,不过过程也是挺享受的,那个专注力、那个废寝忘食的劲头儿少有吖^_^
一、下机窗体的流程图(如有不对的地方还望各位大神给予指导^_^):
二、错误集(本窗体中的大错误并不是很多,都是以前遇到的就不在此赘述了^_^)
三、查询集
①、如何计算时间差?
DateDiff函数
https://msdn.microsoft.com/zh-cn/vba/language-reference-vba/articles/datediff-function
②、VB中如何修改数据库信息?
update语句
四、代码片段(重复代码功能不再赘述):
①、计算时间差
timediff = DateDiff("n", txtontime.Text, txtofftime.Text) '计算上下机时间差
②、判断用户类型
basictxtSQL = "select * from BasicData_Info"
Set basicmrc = ExecuteSQL(basictxtSQL, basicMsgText)
'获取基本数据设定表中的计价标准
If Trim(txttype.Text) = "固定用户" Then '判断临时用户还是固定用户
unitprice = basicmrc.Fields(0)
Else
unitprice = basicmrc.Fields(1)
End If
③、VB中更新数据库数据
txtSQL = "update student_Info set cash= " & Trim(txtcash.Text) & " where cardno= " & txtcardno.Text & ""
Set mrc = ExecuteSQL(txtSQL, MsgText)
'更新学生表余额
④、VB中删除数据库数据
onlinetxtSQL = "delete from Online_Info where cardno='" & Trim(txtcardno.Text) & "'"
Set onlinemrc = ExecuteSQL(onlinetxtSQL, onlineMsgText)
'更新正在上机数据表信息
⑤、判断上机时长是否小于最小时长
If timediff < basicmrc.Fields(3) Then 'timediff为上机时间,判断上机时间是否小于最小上机时间
txtconsume.Text = 0 '是的话消费金额为0
Else
txtconsume.Text = linemrc.Fields(11) '大于最小上机时间则正常收费
End If