第一次機房上機系統 登陸和身份驗證

2021-08-28 14:01:36 字數 3815 閱讀 5251

考慮到第一次機房上機系統一次開啟系統,只能登陸三次,當然每次提示的內容是不一樣的。並且根據不同的身份,會出現不同許可權。

我的想法是在登陸窗體進行登陸和登陸次數的驗證,在主窗體中判斷身份,進行許可權的判斷。

注意:登陸窗體的**

private sub cmdok_click()

'判斷使用者名稱是否為空

micount = micount + 1

username = trim(txtid.text)

'判斷登入名不能為空

if not texttxt(txtid.text) then

select case micount

case is = 1

msgbox "使用者名稱不能為空!" & vbcr & "您還有兩次次機會!", vbokonly + vbexclamation, "警告"

case is = 2

msgbox "使用者名稱不能為空!" & vbcr & "您還有一次次機會!", vbokonly + vbexclamation, "警告"

case is = 3

msgbox "使用者名稱不能為空!", vbokonly + vbexclamation, "警告"

endend select

exit sub

txtusername.setfocus

else

'連線資料庫

txtsql = "select *from user_info where userid='" & txtid.text & "'"

set mrc = executesql(txtsql, msgtext)

'判斷是否有該使用者

if mrc.eof and mrc.bof then

' msgbox "沒有這個使用者,請重新輸入!", vbokonly + vbexclamation, "警告"

select case micount

case is = 1

msgbox "沒有這個使用者,請重新輸入!" & vbcr & "您還有兩次次機會!", vbokonly + vbexclamation, "警告"

case is = 2

msgbox "沒有這個使用者,請重新輸入!" & vbcr & "您還有一次次機會!", vbokonly + vbexclamation, "警告"

case is = 3

msgbox "沒有這個使用者,請重新輸入!", vbokonly + vbexclamation, "警告"

endend select

txtid.text = ""

txtpassword.text = ""

txtid.setfocus

else

'如果有,判斷密碼是否正確

if trim(txtpassword.text) = trim(mrc.fields(1)) then

'進入系統

frmmain.show

exit sub

else

'密碼錯誤,給予提示

txtpassword.text = ""

txtpassword.text = ""

txtpassword.setfocus

select case micount

case is = 1

msgbox "密碼錯誤!" & vbcr & "您還有兩次次機會!", vbokonly + vbexclamation, "警告"

case is = 2

msgbox "密碼錯誤!" & vbcr & "您還有一次次機會!", vbokonly + vbexclamation, "警告"

case is = 3

msgbox "密碼錯誤,請重新登陸!", vbokonly + vbexclamation, "警告"

endend select

end if

end if

end if

end sub

注意:主窗體的**

private sub mdiform_load()

'顯示當前時間

dim mrc as adodb.recordset '用來存放記錄集物件

dim txtsql$ '用來存放sql語句

dim msgtext$ '用來存放返回資訊

'連線資料庫

txtsql = "select*from user_info where userid='" & username & "'"

set mrc = executesql(txtsql, msgtext)

level = trim(mrc.fields(2))

'將資訊新增到工作表中

txtsql = "select *from worklog_info "

set mrc_wlog = executesql(txtsql, msgtext)

mrc_wlog.addnew

mrc_wlog.fields(1) = trim(username) '操作的老師

mrc_wlog.fields(2) = level

mrc_wlog.fields(3) = format(date, "yyyy-mm-dd")

mrc_wlog.fields(4) = format(time, "hh:mm:ss")

mrc_wlog.fields(5) = null

mrc_wlog.fields(6) = null

mrc_wlog.fields(7) = getthiscomputername

mrc_wlog.fields(8) = "true"

mrc_wlog.update

serial = mrc_wlog.fields(0)

mrc_wlog.close

'判斷是否具有管理員許可權

if (trim(mrc.fields(2))) = "管理員" then

operator.enabled = true

administrator.enabled = true

mrc.close '關閉資料庫

exit sub

end if

'判斷是否具有操作員許可權

if (trim(mrc.fields(2))) = "操作員" then

operator.enabled = true

mrc.close '關閉資料庫

exit sub

end if

'將資訊新增到工作表中

txtsql = "select *from worklog_info "

set mrc_wlog = executesql(txtsql, msgtext)

mrc_wlog.addnew

mrc_wlog.fields(1) = trim(username) '操作的老師

mrc_wlog.fields(2) = level

mrc_wlog.fields(3) = format(date, "yyyy-mm-dd")

mrc_wlog.fields(4) = format(time, "hh:mm:ss")

mrc_wlog.fields(5) = ""

mrc_wlog.fields(6) = ""

mrc_wlog.fields(7) = getthiscomputername

mrc_wlog.fields(8) = "true"

mrc_wlog.update

mrc_wlog.close

end sub

這種方式就是**比較多,比較繁瑣,但是基本功能實現了,如果您有更好的方式,期待您的分享!

第一次機房收費系統 登陸窗體

前言 不管是學生還是機房,敲的第乙個窗體都是登入,這兩個學習專案有很大的相同點,學生有原始碼,機房卻沒有,需要搞清楚裡邊的邏輯,問題也就迎刃而解了。下面是我畫的機房的流程圖 如下 option explicit private declare function getusername lib adv...

第一次機房收費系統之登陸窗體

3.executesql函式 和 call 呼叫 executesql他是一種自定義函式,是odbc中的乙個api函式,用來執行由sqlprepare建立的sql語句。一般只要是查詢資料表就會用到這個函式,他後面一般還加兩個引數txtsql和msgtext。今天我們就來看看這三個單詞在資料庫語言中的...

第一次機房之上機

上機的基本思路就是,先查詢卡號是否存在,是否已經上機,如果符合要求就新增上機記錄和上機狀態,這個還是比較簡單的,不是特別的複雜 dim mrc1 as adodb.recordset 用來儲存online info 的sql語句 dim txtsql1 as string 用來接收返回的結果 if ...