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

2021-09-25 16:50:46 字數 2971 閱讀 5070

前言

不管是學生還是機房,敲的第乙個窗體都是登入,這兩個學習專案有很大的相同點,學生有原始碼,機房卻沒有,需要搞清楚裡邊的邏輯,問題也就迎刃而解了。

下面是我畫的機房的流程圖:

**如下:

option explicit

private declare function getusername lib "advapi32.d11" alias "getusernamea" (byval lpbuffer as string, nsize as long) as long

public ok as boolean

dim micount as integer

private sub cmdexit_click()

ok = false

me.hide

end sub

private sub cmdok_click()

dim txtsql as string '用來存放sql語句

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

dim msgtext as string '用來存放返回資訊

txtusername = "" '判斷輸入使用者名稱是否為空

if trim(txtusername.text) = "" then '判斷使用者名稱是否存在

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

txtusername.setfocus

else

txtsql = "select * from user_info where user_id='" & txtusername.text & "'" '查詢指定使用者名稱的記錄

set mrc = executesql(txtsql, msgtext)

if mrc.eof then '判斷資料庫中是否有記錄

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

txtusername.setfocus

else

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

ok = false

mrc.close

me.hide

frmmain.show

username = trim(txtusername.text)

else

msgbox "輸入密碼不正確,請重新輸入!", vbokonly + vbexclamation, "警告"

txtpassword.setfocus

txtpassword.text = ""

end if

end if

end if

micount = micount + 1 '限制輸入密碼次數

if micount = 1 then

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

txtpassword.setfocus

txtpassword.text = ""

exit sub

elseif micount = 2 then

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

txtpassword.setfocus

txtpassword.text = ""

exit sub

elseif micount = 3 then

msgbox "密碼輸入錯誤,程式即將關閉!", vbokonly + vbexclamation, "警告"

txtpassword.setfocus

txtpassword.text = ""

me.hide

exit sub

end if

end if

end if

exit sub

end sub

'查詢條件 使用者輸入資訊不能為空

if trim(txtusername.text = "") then

msgbox "使用者名稱不能為空,請重新輸入!", vbokonly + vbexclamation, "警告"

txtusername.setfocus

elseif trim(txtpassword.text = "") then

msgbox "使用者密碼不能為空,請重新輸入!", vbokonly + vbexclamation, "警告"

txtusername.setfocus

end if

end sub

private sub form_load()

end sub

private sub txtusername_keypress(keyascii as integer) '限制使用者名稱只能有數字和字母組成

if (keyascii >= 48 and keyascii <= 57) or (keyascii >= 65 and keyascii <= 90) or (keyascii >= 97 and keyascii <= 122) or (keyascii = 8) then

else

msgbox "使用者名稱由字母和數字組成", vbokonly + vbexclamation, "警告"

keyascii = 0

end if

end sub

好好學習,天天向

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

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

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

邏輯很重要,慢慢縷。流程圖與 如下 private sub cmdok click 用來存放sql語句 連線user表 dim txtsql as string 用來存放記錄集物件 dim mrc as adodb.recordset 用來存放返回資訊 dim msgtext as string 連...

第一次機房收費系統優化 登入窗體

一 重點 這個窗體增加了判斷使用者的類別 操作員 一般使用者 管理員 二 控制項優化 label為空白 label1.backstyle 0 command新增 1 將command控制項的style設定為1 graphical 2 在command控制項的picture中,點瀏覽,選擇一張。三 優...