欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

机房收费系统之手动下机(获取时间差、更新数据库数据、判断时间差)

程序员文章站 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

以上便完成了下机的基本操作,对于细节性的文本框约束等内容均未涉及,先让程序运行起来再细化吧,下一站走起^_^