1. 程式人生 > >機房收費系統之手動下機(獲取時間差、更新資料庫資料、判斷時間差)

機房收費系統之手動下機(獲取時間差、更新資料庫資料、判斷時間差)

        下機窗體的梳理著實耗費了不少時間,的確是一個費腦細胞的活兒,不過過程也是挺享受的,那個專注力、那個廢寢忘食的勁頭兒少有吖^_^

一、下機窗體的流程圖(如有不對的地方還望各位大神給予指導^_^):

二、錯誤集(本窗體中的大錯誤並不是很多,都是以前遇到的就不在此贅述了^_^)

三、查詢集

①、如何計算時間差?

DateDiff函式

②、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

以上便完成了下機的基本操作,對於細節性的文字框約束等內容均未涉及,先讓程式執行起來再細化吧,下一站走起^_^