學生管理系統的系統啓動和登入介面的設計

來源:酷知科普網 3W

學生管理系統是一個比較典型的數據庫應用程序,這裏我打算將學生管理系統分幾部分陸續發表,希望對大家有幫助。本章主要闡述學生管理系統的系統啓動和登入介面的設計。

步驟/方法

(01)一個程序在啓動後首先需要進入啓動介面,學生管理系統(以下均稱系統)也不例外,在啓動後進入的是使用者身份確認介面,因爲目前大學的結構是學校→學院→繫結構,也就是一個大學下面包含幾個學院,一個學院下面又包含幾個系,因此一個完善的學生管理系統必須考慮到這個問題,在系統啓動後首先確定登入人的身份是至關重要的。下面的圖就是登入身份確認:

學生管理系統的系統啓動和登入介面的設計

(02)圖一、登入身份確認介面

(03)登入身份無非是管理員或用戶,但是如何確定登入人是那一級的管理員或用戶,必須提前在數據庫這進行設定,我們在這個系統中,使用Access數據庫,數據庫的檔案名是:學生管理,在這個數據庫這有8個數據表,我們在以後將陸續介紹,今天我們首先介紹數據表【用戶資料】,下面是這個數據表的結構和數據表的部分數據:

(04)表一、用戶資料數據表(部分示例數據,可根據你的需要修改)從數據表可以明顯看出,管理員或用戶不是一個,而且他們的部門是不同的,由於部門不同,登入權限同樣不同,這就爲我們在介面設定中提供了不少便利。登入人在選定身份後,根據身份不同,將進入不同的登入介面,下面是管理員登入介面和用戶登入介面:圖二、管理員登入介面圖三、用戶登入介面好了,到這裏介面和數據庫都介紹了,下面我們介紹程序視窗和視窗所需要的基本代碼。程序的啓動和登入由二個視窗和一個模組組成,二個視窗的名稱分別是:啓動視窗、用戶登入。

學生管理系統的系統啓動和登入介面的設計 第2張
學生管理系統的系統啓動和登入介面的設計 第3張
學生管理系統的系統啓動和登入介面的設計 第4張

(05)啓動視窗啓動視窗如圖一,主要控件是:一個ComboBox控件,名稱爲Combo1;三個CommandButton控件,名稱爲Command1、Command2、Command3;一個Timer控件,名稱爲Time1;以及幾個Label控件。Combo1的List值有二項,分別是:管理員和用戶,他的作用是提供登入人選擇身份。Command1的Caption是“確定”,Command2的Caption是“退出”,Command3的Caption是“系統幫助”,其作用是讓程序產生單擊動作,在點擊【確定】按鈕時,進入登入介面,點擊【退出】按鈕時,退出系統,點擊【系統幫助】按鈕時,顯示系統幫助介面(至於系統幫助問題不是本文討論的問題,我們將不予介紹。)。下面是啓動介面的主要代碼:Private SubCommand1_Click()‘按鈕【確定】的點擊過程Dim MC As StringMC = If MC = ""ThenMsgBox "您沒有選擇登入方式,請重新選擇!", 16, "錯誤!"Exit SubEnd IfIf MC = "管理員" ThenDLQX1 = "管理員"ElseIf MC = "用戶" ThenDLQX1 = "用戶"End IfUnload Me用戶登入End SubPrivate SubCommand2_Click()EndEnd SubPrivate SubCommand3_Click()系統幫助End SubPrivate Sub Form_Load()Label4(1)ion ="當代電子科技學院"ion =FormatDateTime(Date, 1)ion =FormatDateTime(Now, 3)rval = led = TrueEnd SubPrivate SubTimer1_Timer()ion =FormatDateTime(Now, vbLongTime)End Sub上面代碼都特別簡單,這裏就不一一解釋了。

(06)用戶登入在啓動視窗不論你選擇管理員還是用戶,點擊【確定】後都會進入用戶登入視窗,由於選擇身份不同,程序會給出不同的執行介面,如果身份是管理員,以圖二的介面執行,如果身份是用戶,則以圖三的介面執行,不論是那個介面,其實就是一個視窗“用戶登入”視窗。用戶登入如圖二、圖三,主要控件是:二個TextBox控件,名稱爲Text1、Text2;三個CommandButton控件,名稱爲Command1、Command2、Command3;以及幾個Label控件。Text1是一個輸入框,需要登入人輸入登入名稱,Text2也是一個輸入框,需要登入人輸入登入密碼。Command1的Caption是“登入”,Command2的Caption是“退出”,Command3的Caption是“返回”,其作用是讓程序產生單擊動作,在點擊【登入】按鈕時,系統根據數據庫的記錄,檢測這個登入人是否存在,如果存在,進入登入人應該進入的介面;如果不存在,將終止登入。點擊【退出】按鈕時,退出系統。點擊【返回】按鈕時,將返回到啓動介面。下面是用戶登入視窗的主要代碼:Dim zong As Integer‘聲明視窗級公用變量Private SubCommand1_Click()'登入確認If zong = 3 Then'若用戶輸入的次數超過三次,則自動退出Unload MeExit SubEnd IfIf Trim( ="") ThenMsgBox "沒有輸入用戶名,請輸入!", vbOKOnly + vbExclamation, "警告" = ""Exit SubEnd IfCall SJK(db)‘注意:這裏在調用一個過程,請檢視模組一節!strSQL = "select * from用戶資料where用戶名='" & & "' AND身份='" & DLQX1 & "'" strSQL, db, 2, 2‘RS是什麼呀?請檢視模組一節!If = True ThenMsgBox "沒有這個用戶,請重新輸入用戶名!", vbOKOnly + vbExclamation, "警告" = "" = ""eCall GBSJKzong = zong + 1'累加輸入次數Exit SubEnd IfIf RS("密碼") <> Trim()ThenMsgBox "密碼不正確,請重新輸入!", vbOKOnly + vbExclamation, "警告"eCall GBSJKzong = zong + 1'累加輸入次數Exit SubEnd IfSZBM = RS("部門")YHMC = RS("用戶名")YHMM = RS("密碼")YHSF= RS("身份")YHQX== RS("權限")eSet RS = NothingCall GBSJK‘注意:這裏在調用一個過程,請檢視模組一節!Unload Me主視窗End SubPrivate SubCommand2_Click()Dim anw As Intege‘聲明過程級變量ranw = MsgBox("確定要退出系統嗎?", vbYesNo, "請問")If anw = 6 ThenUnload = "" = ""End IfEnd SubPrivate SubCommand3_Click()Unload Me啓動視窗End SubPrivate Sub Form_Load()ion = DLQX1 & "登入"Label4(1)ion = DLQX1 & "登入"Label4(2)ion = "當代電子科技學院"ion = DLQX1 & "名稱:"ion = DLQX1 & "密碼:"zong = = "" = ""End Sub

(07)模組(程序共用變量、過程在模組中設定)模組名稱Module1前面的程序代碼中,出現了幾個調用過程和幾個變量,這些過程和變量是全局公用過程和變量,那麼這些過程和變量是如何設定的?在VB中有一個模組程序,這個模組是用來設定全局調用過程和全局調用變量的。我們點擊【工程】-【添加模組】,出現添加模組對話框,點擊【開啟】按鈕,在工程中就會添加一個名稱爲Module1的模組,模組名稱可以修改爲你認爲比較容易理解的名稱,我們在這裏仍然使用程序默認的名稱。注意:模組僅僅是代碼,沒有介面的。在模組中我們就可以添加程序公用的變量和過程(或函數),在模組中聲明公用變量必須使用關鍵字Public,在設定公用過程也必須使用關鍵字Public。在我們這個程序中,需要連結數據庫,VB不默認連結數據庫,因此我們必須添加連結數據庫的引用,添加方法是點擊【工程】-【引用】,開啟引用對話框,在對話框中選擇Microsoft DAO 3.6 Object Library和Microsoft ActiveX Data Object 2.7 Library,勾選這二項,點擊確定。這樣連結數據庫的引用就添加成功了。添加了數據庫的引用,我們在模組中就可以聲明數據庫連結對象和記錄集對象了,在我們的模組中,我們聲明瞭這二個對象,分別是db(數據庫連結對象)、RS(記錄集對象)。另外,我們在模組中還設定了5個公用變量,這些變量是程序在執行過程中需要隨時調用的,並且在執行過程中需要確定執行視窗的變量,其實這些變量就是登入人的資訊。下面是模組代碼:(這裏聲明的變量、對象、過程都是全局的)Public db As ection‘數據庫連結對象Public RS As rdset‘數據庫記錄集對象Public DLQX1 As String‘登入人身份變量Public SZBM AsString' =登入人的("部門")Public YHMC As String' =登入人的("用戶名")Public YHMM AsString' =登入人的("密碼")Public YHSF AsString' =登入人的("身份")Public YHQX AsString' =登入人的("權限")Public Sub SJK(db)“數據庫連結公用過程ectionString = "DRIVER=MicrosoftAccess Driver (*);DBQ=" & & "DATA學生管理"‘注意:數據庫名是學生管理End SubPublic Sub GBSJK()“關閉數據庫公用過程eSet db = NothingEnd Sub

(08)最後說明一點:在程序中聲明的變量可以是全局變量,也可以是模組級(窗體)變量,還可以是過程級變量,變量聲明的位置不同,使用的關鍵字不同,變量的級別是不同的。如果你需要設定全局變量,必須在模組中聲明,使用Public關鍵字。如果你聲明模組級變量(注意:所謂模組級其實就是一個窗體,不要和程序模組混淆),必須在窗體的代碼視窗的通用部分聲明(通用部分就是窗體代碼視窗的最上端),使用Dim關鍵字或Private關鍵字。如果你需要聲明過程級變量,在一個過程的任何部位都可以聲明,使用Dim關鍵字。全局變量的生命期在程序執行開始就已經聲明瞭,這個變量直至程序執行結束才結束。全局變量在任何一個窗體或任何一個過程中都可以調用他的值,也可以在任何一個窗體或任何一個過程中都可以賦值,在程序結束後這個變量的生命就結束了,但是如果你在程序中轉換窗體,這個變量仍然存在,直至程序結束(即關閉程序)這個變量才結束。模組級變量的生命期是一個窗體在執行時,這個變量就被聲明,在這個窗體執行過程中,這個變量始終是存在的,在這個窗體的任何過程都可以調用這個變量,同樣也可以給變量賦值,在轉換窗體後,這個模組級變量的生命就結束了。過程級變量的生命期是一個窗體的某一個過程在執行時被聲明,這個變量在這個過程中使用,包括調用和賦值,在過程結束後,這個變量的生命就結束了。下一節我們介紹程序最關鍵的一個窗體“主視窗”,在主視窗牽扯到程序選單,程序選單是程序執行的依據,根據登入權限不同,所需要的選單不同。由於時間比較緊,本文可能存在不少問題,請對本文提出你的寶貴意見和建議。

熱門標籤