其實相比起下機,上機的功能相對簡單的多。
我總結了一句話大概可以概括了上機的功能:
讓賬戶裡錢夠的目前沒有上機的已經註冊過的使用者上機。
關鍵點資料表 含義
賬戶裡的錢夠
student_info
當使用者餘額高於最少錢數
目前沒有上機
online_info
online 表中不存在的使用者可上機
已經註冊過
student_info
使用者的資訊存在於student表中
正在上機的人數
online_info
資料表 功能
student_info
--用來判斷使用者是否註冊
--判斷使用者的金額是否充足
online_info
--判斷使用者是否正在上機
--若不在上機,則需要把資訊存放在該表中
--顯示正在上機的人數
line_info
--上機成功後,需要將資訊存放在該表中
(這不是整體的**,只是擷取了其中用來實現邏輯功能的**)
一:顯示正在上機的人數:
'顯示目前正在上機的人數
txtsqlw = "select * from online_info "
set mrw = executesql(txtsqlw, msgtextw)
if mrw.eof then
allpeople(10).caption = 0
else
do while not mrw.eof
i = i + 1
mrw.movenext
loop
allpeople(10).caption = str(i)
end if
二: 在line表中新增資訊:
'在line表中新增上機資訊
txtsql1 = "select * from line_info where cardno='" & trim(cardnumber.text) & "'"
set mrb = executesql(txtsql1, msgtxt1)
mrb.addnew
mrb.fields(1) = trim(cardnumber.text) '卡號
mrb.fields(2) = mra.fields(1) '學號
mrb.fields(3) = mra.fields(2) '姓名
mrb.fields(4) = mra.fields(4)
mrb.fields(5) = mra.fields(3)
mrb.fields(6) = onday(3).caption
mrb.fields(7) = onti(4).caption
mrb.fields(12) = mra.fields(7)
mrb.update
三: 判斷使用者是否正在上機,若不在上機則將資訊新增到online_info 資料表中
'判斷該使用者是否正在上機過程中
txtsql = "select * from online_info where cardno='" & trim(cardnumber.text) & "'"
set mrc = executesql(txtsql, msgtxt)
if not mrc.eof then
msgbox "當前使用者正在上機,請勿重複上機"
cardnumber.text = ""
else
cardid(0).caption = trim(cardnumber.text)
stuid(13).caption = trim(mra.fields(1))
stutype(14).caption = trim(mra.fields(14))
stuname(15).caption = trim(mra.fields(2))
stucourse(1).caption = trim(mra.fields(4))
stu***(2).caption = trim(mra.fields(3))
onday(3).caption = date
onti(4).caption = time
lastmoney(9).caption = trim(mra.fields(7))
allpeople(10).caption = trim(mrc.recordcount)
stuti(11) = now
nowda = now
mrc.addnew
mrc.fields(0) = trim(cardnumber.text)
mrc.fields(1) = trim(mra.fields(14))
mrc.fields(2) = trim(mra.fields(1))
mrc.fields(3) = trim(mra.fields(2))
mrc.fields(4) = trim(mra.fields(4))
mrc.fields(5) = trim(mra.fields(3))
mrc.fields(6) = onday(3).caption
mrc.fields(7) = onti(4).caption
mrc.fields(8) = "hyf"
mrc.fields(9) = trim(stuti(11).caption)
mrc.update
四:先判斷是否輸入卡號-----判斷使用者是否註冊-----使用者餘額是否充足----使用者是否正在上機
'首先判斷是否輸入卡號
if trim(cardnumber.text = "") then
msgbox "請輸入卡號"
cardnumber.setfocus
else
'第二步:判斷輸入的卡號是否註冊,即是否存在於student表中
textsql = "select * from student_info where cardno='" & trim(cardnumber.text) & "'"
set mra = executesql(textsql, msgtxt)
if mra.eof then
msgbox "當年輸入的卡號還未註冊,請輸入已註冊的卡號", vbokonly + vbexclamation, "警告"
cardnumber.setfocus
else ' 表示輸入的卡號已經註冊過,所以下一步進行判斷是否正在上機中
if mra.fields(7) > 5 then
msgbox "您當前的餘額不足,請充值之後再上機"
exit sub
else
dim mrc as adodb.recordset
'判斷該使用者是否正在上機過程中
txtsql = "select * from online_info where cardno='" & trim(cardnumber.text) & "'"
set mrc = executesql(txtsql, msgtxt)
if not mrc.eof then
msgbox "當前使用者正在上機,請勿重複上機"
cardnumber.text = ""
機房收費系統 上機
檢查乙個卡號能否使用,需要檢查以下幾點 只有這幾點同時滿足,此卡才能正常上機。1 當然不用多說,不輸入卡號當然不能使用。2 與要求的最小餘額進行比較,小於最小餘額則禁止上機使用 3 此卡沒用註冊,登錄檔中沒有這條記錄 4 次卡正在處於上機狀態,提示正在上機,一卡禁止重複上機使用 下面的這段 僅為借鑑...
機房收費系統 上機
上機在機房系統是至關重要的,只要捋清思路,把大問題分解成乙個個的小問題再去解決,困惑就自然迎刃而解了。來看看我的思路吧!片段 private sub cmdonline click dim txtsql as string dim msgtext as string dim mrc as adodb...
機房收費系統 上機
還在敲學生資訊管理系統的時候,就被師哥師姐告知機房有點兒難,尤其是什麼上下機,動態顯示金額還有強制下機部分。所以開始機房收費系統之後,我就先把上下機這幾部分跳過了,等把別的窗體敲完除錯好之後,發現上下機中,實際上上機還是比較簡單的,就是邏輯性相對於其他窗體來說強一點,但是如果我們把上機的流程畫到圖上...