機房收費系統 上機

2021-08-28 10:16:11 字數 3870 閱讀 2193

其實相比起下機,上機的功能相對簡單的多。

我總結了一句話大概可以概括了上機的功能:

賬戶裡錢夠目前沒有上機已經註冊過的使用者上機。

關鍵點資料表 含義

賬戶裡的錢夠

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...

機房收費系統 上機

還在敲學生資訊管理系統的時候,就被師哥師姐告知機房有點兒難,尤其是什麼上下機,動態顯示金額還有強制下機部分。所以開始機房收費系統之後,我就先把上下機這幾部分跳過了,等把別的窗體敲完除錯好之後,發現上下機中,實際上上機還是比較簡單的,就是邏輯性相對於其他窗體來說強一點,但是如果我們把上機的流程畫到圖上...