第一次機房收費系統 資料庫中上下機資訊不全問題

2021-09-01 20:53:19 字數 2230 閱讀 2958

在做上下機的時候,發現了乙個很大的問題,那就是上機資訊可以記錄,下機的資訊沒有反應到資料庫裡面。

如何解決此問題?

1.想主鍵。

當你的主鍵只有卡號的時候,他能不能只通過卡號反應到你資料庫中呢?

答案是不能,因為你資料庫中下機的資訊有很多,同乙個卡號可能有多個上下機記錄,怎麼只能通過卡號來確定你的下機呢。

2.主鍵+上機時間+上機日期。

利用主鍵+上機時間+上機日期行不?

txtsqlline = "select * from line_info where cardno='" & txtcardno.text & "' and ondate='" & trim(txtondate.text) & "' and ontime='" & trim(txtontime.text) & "'"

' txtsql = "select * from student_info where cardno='" & trim(txtcardno.text) & "'and status='使用'"'and status='正在上機'"

set mrcline = executesql(txtsqlline, msgtext)

答案:不一定,因為這個要看你的具體**。

就我而言,這種方法不太好,因為vb執行語句過程中有時間問題,他不可能通過乙個時間點把整個語句執行,他只會一條一條的執行。所以一定會有時間延誤。

看見沒,它會有乙個2秒的延誤。

3.我們把主鍵換成卡號+狀態。

利用卡號加狀態就可以了。

'txtsql = "select * from line_info where status=' 正常上機' and cardno = '" & trim(txtcid.text) & "'" '卡號狀態是正常上機的,且等於text框的卡號可以下機。

txtsqlline = "select * from line_info where status='正在上機' and cardno = '" & trim(txtcardno.text) & "'" '卡號狀態是正常上機的,且等於text框的卡號可以下機。

' txtsqlline = "select * from line_info where cardno='" & txtcardno.text & "' and ondate='" & trim(txtondate.text) & "' and ontime='" & trim(txtontime.text) & "'"

' txtsql = "select * from student_info where cardno='" & trim(txtcardno.text) & "'and status='使用'"'and status='正在上機'"

set mrcline = executesql(txtsqlline, msgtext)

' mrcline.addnew

txtclosedate.text = format(date, "yyyy-mm-dd")

txtclosetime.text = format(time, "hh:mm")

mrcline.fields(8) = trim(txtclosedate.text) 'txtclosedate

mrcline.fields(9) = trim(txtclosetime.text) 'txtclosetime

mrcline.fields(10) = trim(txtconsumetime.text)

mrcline.fields(11) = val(trim(txtconsumemoney.text))

mrcline.fields(12) = val(trim(txtcardno.text))

mrcline.fields(13) = "正常下機"

mrcline.fields(14) = trim(vba.environ("computername"))

mrcline.update

mrcline.close

所以,一定要想想主鍵的問題。

第一次機房收費系統 幽夢

經過了分析需求 基本配置。終於開始敲機房了。第一步就是敲模組,我只能按照學生資訊管理系統的模組照葫蘆畫瓢。稍微改改,雖然當時整學生時把模組的 一句一句的查了一遍,但到現在還是不懂。不管怎樣,接著進行吧。於是,正式開始了!0.0 登入 在敲登入窗體時,還是要參考學生資訊管理系統。這第一句 就讓我一頭霧...

第一次機房收費系統總結

1.sub與function的區別 1 sub 過程,不需要返回值 function 函式,可以帶返回值 2 語法 sub subname 引數1,引數2,end sub function functionname 引數1,引數2,functionname 返回值 end function 2.如何...

第一次機房收費系統 總攻

前言 今天終於驗完了機房收費系統,驗完後感覺如釋重負 終於結束了。這次的驗專案相比上次的完善功能相比,更多的是對邏輯 使用者體驗的要求,所以這次的驗證相比上次來說要重要的多 因為後面我們會不斷進行機房收費系統的重構,而第一遍的邏輯若能梳理好,那麼後面不僅會輕鬆,更會少走不必要的彎路。首先我先來總結一...