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

來源:酷知科普網 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關鍵字。全域性變數的生命期在程式執行開始就已經聲明瞭,這個變數直至程式執行結束才結束。全域性變數在任何一個窗體或任何一個過程中都可以呼叫他的值,也可以在任何一個窗體或任何一個過程中都可以賦值,在程式結束後這個變數的生命就結束了,但是如果你在程式中轉換窗體,這個變數仍然存在,直至程式結束(即關閉程式)這個變數才結束。模組級變數的生命期是一個窗體在執行時,這個變數就被宣告,在這個窗體執行過程中,這個變數始終是存在的,在這個窗體的任何過程都可以呼叫這個變數,同樣也可以給變數賦值,在轉換窗體後,這個模組級變數的生命就結束了。過程級變數的生命期是一個窗體的某一個過程在執行時被宣告,這個變數在這個過程中使用,包括呼叫和賦值,在過程結束後,這個變數的生命就結束了。下一節我們介紹程式最關鍵的一個窗體“主視窗”,在主視窗牽扯到程式選單,程式選單是程式執行的依據,根據登入許可權不同,所需要的選單不同。由於時間比較緊,本文可能存在不少問題,請對本文提出你的寶貴意見和建議。

熱門標籤