學生信息管理系統(tǒng)設(shè)計 計算機畢業(yè)論文
《學生信息管理系統(tǒng)設(shè)計 計算機畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《學生信息管理系統(tǒng)設(shè)計 計算機畢業(yè)論文(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第一章 系統(tǒng)概述 本學生信息管理系統(tǒng)可以說是一個綜合性的學校學生管理系統(tǒng),這它集成了學生學籍管理系統(tǒng)、學生成績管理系統(tǒng)、學生檔案管理系統(tǒng)、學生繳費管理系統(tǒng)等多種功能,因而具有較強的實用性和先進性。 1.1 系統(tǒng)及需求分析 1.1.1 系統(tǒng)需求 通過調(diào)查,要求系統(tǒng)需要有以下功能: (1) 由于操作人員的計算機知識普遍較差,要求有良好的人機界面; (2) 由于該系統(tǒng)的使用對象多,要求有較好的權(quán)限管理; (3) 原始數(shù)據(jù)修改簡單方便,支持多條件修改; (4) 方便的數(shù)據(jù)查詢,支持多條件查詢; (5) 在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好; (6)
2、數(shù)據(jù)計算自動完成,盡量減少人工干預(yù)。 1.1.2可行性分析 由于本系統(tǒng)管理的對象單一,都是在校學生,且每個數(shù)據(jù)內(nèi)容具有較強的關(guān)聯(lián)性,涉及的計算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。且學校用于學生管理的微機都是PIII以上的機器,在存儲量、速度方面都能滿足數(shù)據(jù)庫運行的要求。在技術(shù)難度方面,由于有指導老師的指導和相關(guān)參考文獻,特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全可以實現(xiàn)。 本系統(tǒng)的設(shè)計是在Windows 98中文版操作系統(tǒng)環(huán)境下,使用Visual Basic 6.0中文版開發(fā)成功的。數(shù)據(jù)庫是MIS中的重要支持技術(shù),在MIS開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個重要的問題
3、,目前,數(shù)據(jù)庫產(chǎn)品較多,每種產(chǎn)品都具有各自的特點和適用范圍,因此,在選擇數(shù)據(jù)庫時,應(yīng)考慮數(shù)據(jù)庫應(yīng)用的特點及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫語言介紹如下: Visual Basic語言 Visual Basic是一種可視化的、面對對象和條用事件驅(qū)動方式的結(jié)構(gòu)化高級程序設(shè)計,可用于開發(fā)Windows環(huán)境下的種類應(yīng)用程序。它簡單易學、效率高,且功能強大,可以與Windows的專業(yè)開發(fā)工具SDK相媲美,而且程序開發(fā)人員不必具有C/C++編程基礎(chǔ)。在Visual Basic環(huán)境下,利用事件驅(qū)動的編程機制、新穎易用的可視化設(shè)計工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動態(tài)鏈接庫(DLL
4、)、動態(tài)數(shù)據(jù)交換(DDE)、對象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)訪問(ODBC)等技術(shù),可以高效、快速地開發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。 總的來說,Visual Basic具有以下特點: 可視化編程: 用傳統(tǒng)程序設(shè)計語言設(shè)計程序時,都是通過編寫程序代碼來設(shè)計用戶界面,在設(shè)計過程中看不到界面的實際顯示效果,必須編譯后運行程序才能觀察。如果對界面的效果不滿意,還要回到程序中修改。有時候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)效率。Visual Basic提供了可視化設(shè)計工具,把Windows界面設(shè)計的復(fù)雜性“封裝”起來,開發(fā)人員不必為界
5、面設(shè)計而編寫大量程序代碼。只需要按設(shè)計要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設(shè)置這些圖形對象的屬性。Visual Basic自動產(chǎn)生界面設(shè)計代碼,程序設(shè)計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計的效率。 面向?qū)ο蟮某绦蛟O(shè)計 4.0版以后的Visual Basic支持面向?qū)ο蟮某绦蛟O(shè)計,但它與一般的面向?qū)ο蟮某绦蛟O(shè)計語言(C++)不完全相同。在一般的面向?qū)ο蟪绦蛟O(shè)計語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而Visual Basic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計方法(OOP),把程序和數(shù)據(jù)封裝起來作為一個對象,并為每個對象賦予應(yīng)有
6、的屬性,使對象成為實在的東西。在設(shè)計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,Visual Basic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。 結(jié)構(gòu)化程序設(shè)計語言 Visual Basic是在BASIC語言的基礎(chǔ)上發(fā)展起來的,具有高級程序設(shè)計語言的語句結(jié)構(gòu),接近于自然語言和人類的邏輯思維方式。Visual Basic語句簡單易懂,其編輯器支持彩色代碼,可自動進行語法錯誤檢查,同時具有功能強大且使用靈活的調(diào)試器和編譯器。 Visual Basic是解釋型語言,在輸入代碼的同時,解釋系統(tǒng)將高級語言分解翻譯成計算機可以識別的機器指
7、令,并判斷每個語句的語法錯誤。在設(shè)計Visual Basic程序的過程中,隨時可以運行程序,而在整個程序設(shè)計好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離Visual Basic環(huán)境,直接在Windows環(huán)境下運行。 事件驅(qū)動編程機制 Visual Basic通過事件來執(zhí)行對象的操作。一個對象可能會產(chǎn)生多個事件,每個事件都可以通過一段程序來響應(yīng)。例如,命令按鈕是一個對象,當用戶單擊該按鈕時,將產(chǎn)生一個“單擊“(CLICK)事件,而在產(chǎn)生該事件時將執(zhí)行一段程序,用來實現(xiàn)指定的操作。 在用Visual Basic設(shè)計大型應(yīng)用軟件時,不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個微小的子程
8、序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個事件來驅(qū)動完成某種特定的功能,或者由事件驅(qū)動程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。 訪問數(shù)據(jù)庫 Visual Basic具有強大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強大的數(shù)據(jù)存儲和檢索功能。同時,Visual Basic還能直接編輯和訪問其他外部數(shù)據(jù)庫,如dBASE,F(xiàn)oxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用Visual Basic編輯和處理。 Visual Basic提供開放式數(shù)據(jù)連接,即ODBC功能,可通
9、過直接訪問或建立連接的方式使用并操作后臺大型網(wǎng)絡(luò)數(shù)據(jù)庫,如SQL Server,Oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語言SQL數(shù)據(jù)標準,直接訪問服務(wù)器上的數(shù)據(jù)庫,并提供了簡單的面向?qū)ο蟮膸觳僮髦噶詈投嘤脩魯?shù)據(jù)庫訪問的加鎖機制和網(wǎng)絡(luò)數(shù)據(jù)庫的SQL的編程技術(shù),為單機上運行的數(shù)據(jù)庫提供了SQL網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地實現(xiàn)客戶/服務(wù)器(client/server)方案。 動態(tài)數(shù)據(jù)交換(DDE) 利用動態(tài)數(shù)據(jù)交換(Dynamic Data Exchange)技術(shù),可以把一種應(yīng)用程序中的數(shù)據(jù)動態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動態(tài)數(shù)據(jù)鏈路。當原始
10、數(shù)據(jù)變化時,可以自動更新鏈接的數(shù)據(jù)。Visual Basic提供了動態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他Windows應(yīng)用程序建立動態(tài)數(shù)據(jù)交換,在不同的應(yīng)用程序之間進行通信。 對象的鏈接與嵌入(OLE) 對象的鏈接與嵌入(OLE)將每個應(yīng)用程序都看做是一個對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動畫、文字等各種信息的集合式的文件。OLE技術(shù)是Microsoft公司對象技術(shù)的戰(zhàn)略,它把多個應(yīng)用程序合為一體,將每個應(yīng)用程序看做是一個對象進行鏈接和嵌入,是一種應(yīng)用程序一體化的技術(shù)。利用OLE技術(shù),可以方
11、便地建立復(fù)合式文檔(compound document),這種文檔由來自多個不同應(yīng)用程序的對象組成,文檔中的每個對象都與原來的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來應(yīng)用程序完全相同的操作。 動態(tài)鏈接庫(DLL) Visual Basic是一種高級程序設(shè)計語言,不具備低級語言的功能,對訪問機器硬件的操作不太容易實現(xiàn)。但它可以通過動態(tài)鏈接庫技術(shù)將C/C++或匯編語言編寫的程序加入到Visual Basic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。此外,通過動態(tài)鏈接庫,還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實現(xiàn)SDK所具有的功能。 1.2系統(tǒng)的功能簡介 本系統(tǒng)主要可以實
12、現(xiàn)以下的管理功能:班級管理、學生檔案管理、學生交費管理、課程管理、成績管理等等。 1.2.1 項目規(guī)劃 學生信息管理系統(tǒng)是一個典型的數(shù)據(jù)庫應(yīng)用程序,由班級管理、學生檔案管理、學生交費管理、課程管理、成績管理等模塊組成,特規(guī)劃如下: 1.2.2系統(tǒng)管理模塊(CTRL+O) 該模塊的主要任務(wù)是維護系統(tǒng)的正常運行和安全性設(shè)置,包括添加用戶(快捷鍵:CTRL+A)、修改密碼(快捷鍵:CTRL+B)、重新登錄(快捷鍵:CTRL+F1)等等。 1.2.3班級管理模塊(CTRL+P): 該模塊的功能是實現(xiàn)對全校班級的管理工作,包括:班級游覽、班級添加、班級查詢等,這三個功能模塊各自獨立,完成學校
13、的全部班級的管理。 1.2.4學生檔案管理模塊(CTRL+T): 該模塊的主要功能是實現(xiàn)對學生的個人信息的管理工作,包括檔案添加、檔案瀏覽、檔案查詢等功能,從而方便學校管理部門對學校的基本情況的快速查詢和了解。 1.2.5課程管理模塊(CTRL+R): 該模塊對各個班級的課程進行設(shè)置,并可在其中設(shè)置各門課程的教材選用情況,方便了學校教材管理部門和教務(wù)處的教學管理人員的工作。該模塊包括基本課程設(shè)計和班級課程設(shè)置兩個模塊。 1.2.6成績管理模塊(CTRL+F): 學校的成績管理工作是檢驗學生學習情況的一個主要手段,本模塊包括考試類型設(shè)置,共有期中考試和期未考試兩種類型,還設(shè)置了成績添
14、加、成績游覽、成績查詢等功能模塊。 1.3系統(tǒng)開發(fā)的目標 出于本系統(tǒng)是學校學生管理的一個綜合性的系統(tǒng),本系統(tǒng)的設(shè)計目標將最終定位于完成以上所述的系統(tǒng)主要業(yè)務(wù)的基本模型上。 第二章 系統(tǒng)分析 2.1業(yè)務(wù)流程分析 班級管理業(yè)務(wù)流程圖: 教務(wù)處 輸入計算機 班主任 教務(wù)處 學生 班級 班級 輸出 圖1 班級管理業(yè)務(wù)流程圖 檔案管理業(yè)務(wù)流程圖: 教務(wù)處 輸入計算機 班主任 教務(wù)處 學生 檔案 檔案 輸出
15、 圖2 檔案管理業(yè)務(wù)流程圖課程管理業(yè)務(wù)流程圖: 教務(wù)處 輸入計算機 教師 教務(wù)處 學生 課程 輸出 課程 圖3 課程管理業(yè)務(wù)流程圖 成績管理業(yè)務(wù)流程圖: 教務(wù)處 輸入計算機 教師 教務(wù)處 學生 成績 教師 輸出 圖4 成績管理業(yè)務(wù)流程圖1 教務(wù)處 輸入計算機 班主任 教務(wù)處 學生 班級 班級 輸出
16、 圖5 成績管理業(yè)務(wù)流程圖2 2.2數(shù)據(jù)流程分析: 2.2.1數(shù)據(jù)流程圖: 由于本系統(tǒng)的數(shù)據(jù)模塊較多,下面僅以學生成績管理模塊為例來進行編制。 學籍管理部門 教師 學生成績管理系統(tǒng) 教務(wù)處 學生 教師 教師 學生情況 學生成績 查詢 統(tǒng)計分析 圖6 學生成績管理系統(tǒng)0層數(shù)據(jù)流程圖 管理 部門 教務(wù)處 教師 1.0 學生管理 2.0 課程管理 3.0 成績管理 4.0 統(tǒng)計分析 D1 D2
17、 D3 查詢者 管理者 學生 課程 成績 圖7 學生成績管理系統(tǒng)1層數(shù)據(jù)流程圖 2.3數(shù)據(jù)存儲分析:實體聯(lián)系圖 1、數(shù)據(jù)模型設(shè)計。首先來做出學生成績管理系統(tǒng)的E-R圖,分析這個問題的實體,從系統(tǒng)分析可以知道,學生的成績是由任課教師按照課程給出的,學生、課程、教師組成了這個系統(tǒng)的三個實體。 2、再分析三個實體之間的聯(lián)系。首先,這三個實體不是一個統(tǒng)一體,學生成績與教師沒有內(nèi)在聯(lián)系,教師必須通過課程實體才能與學生建立聯(lián)系,因而先不考慮。課程與學生這兩個實體是多對多聯(lián)系;一位學生要學習多門課程,一門課程有多位學生共
18、同學習。而學習成績是這兩個實體“學生”和“成績”共有的屬性,應(yīng)填在二者的聯(lián)系“學習”邊。因為成績既不是學生獨有的,也不是課程獨有的;“學生甲70分”或“英語70分”是不完全的,說“學生甲英語70分”才是正確的,因為70分是學生甲和英語課二者共有的。這個E-R圖可畫成下圖。 學生 課程 成績 學習 m n 圖8 學生成績管理系統(tǒng)中學生與課程的E-R圖 教師與課程這兩個實體之間,是一對多聯(lián)系;一位教師可以都多門課程,而一門課程對于學生成績來說只能有一位教師(英語、高等數(shù)學有多位教師教,但對某個固定的學生來說只能有一位
19、教師)。其E-R圖,如下所示。 n 教師 課程 教學 l 圖9 E-R圖教師與課程的E-R圖組合到一起,得到最后的E-R圖,有了E-R圖,就可以設(shè)計數(shù)據(jù)庫。下圖為數(shù)據(jù)模型圖。 學生 課程 教師 學習 學習 課程 學生 教師 實體模型 數(shù)據(jù)模型 數(shù)據(jù)庫 學習 l n m m 圖10 數(shù)據(jù)模型圖 2.4功能分析:功能層次圖 學生信息管理系統(tǒng) 登錄 系統(tǒng)管理 班級管理 檔案管理
20、 打印報表 課程管理 成績管理 基本課程設(shè)置 學生繳費瀏覽 班級課程設(shè)置 學生繳費添加 基本學費設(shè)置 學生繳費查詢 修改密碼 添加班級 檔案瀏覽 添加用戶 復(fù)新登錄 班級瀏覽 班級查詢 檔案添加 檔案查詢 圖11 功能層次圖 第三章 系統(tǒng)設(shè)計 3.1軟件模塊結(jié)構(gòu)設(shè)計 3.1.1系統(tǒng)方案確定 通過對系統(tǒng)的調(diào)研與分析,系統(tǒng)主要應(yīng)完成的功能有:班級管理、學生成績管理、學生交費管理、課程管理、成績管理、系統(tǒng)管理等功能。
21、 3.1.2軟件結(jié)構(gòu)設(shè)計 本系統(tǒng)在執(zhí)行時,先根據(jù)不同的操作人員的需要來進行相應(yīng)的模塊,然后可以輸入數(shù)據(jù)或者進行其它的查詢或瀏覽等操作;總體來說,本系統(tǒng)屬于一個事務(wù)型管理系統(tǒng)。 接受數(shù)據(jù) 處理中心 班級管理 檔案管理 交費管理 課程管理 成績管理 打印報表 圖12 軟件結(jié)構(gòu)圖 3.2數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫采用了Microsoft推出的Access數(shù)據(jù)庫,這是微軟集成到Office中的一個桌面數(shù)據(jù)庫,能夠快速方便的和Office的其他套件綜合使用。由
22、于Access具有顯著的簡易性和有效性,大量的桌面數(shù)據(jù)庫系統(tǒng)都采用Access作為后臺數(shù)據(jù)庫。使用Access的好處還在于,如果你的系統(tǒng)擴展到Client/Server模式的時候,可以使用Microsoft的數(shù)據(jù)庫服務(wù)器軟件SQL Server,此時,程序只需要簡單的修改一下鏈接(ADO的數(shù)據(jù)源)就可以,這樣,為程序的平滑擴展提供了非常有力的條件。 3.2.1 本系統(tǒng)中所涉及到的主要實體共有九個數(shù)據(jù)表: allkecheng表:{課程名稱,教材} cj表:{學號,學期,類型,課程名稱,分數(shù)} class表:{年級,班級,教室,年制,專業(yè),班主任,備注} classkecheng表
23、:{年級,專業(yè),年制,學期,課程名稱} jf表:{學號,學期,交費,欠費,日期,操作員} kaoshileixing表:{類型} use表:{username,password,admin,readonly,qx1,qx2,qx3,qx4} xj表:{學號,姓名,性別,班級,出生年月,家庭住址,郵政編碼,聯(lián)系電話,入學時間,備注} suefei表:{年級,專業(yè),年制,學期,學費} 3.2.2 各表的物理結(jié)構(gòu)如下: allkecheng表: 字段名稱 類型 寬度 小數(shù)位 課程名稱 文本 20 教材 文本 30 Cj表: 字段名稱 類型 寬度
24、 小數(shù)位 學號 文本 10 學期 文本 50 類型 文本 16 課程名稱 文本 20 分數(shù) 單精度型數(shù)字 自動 Class表: 字段名稱 類型 寬度 小數(shù)位 年級 文本 16 班級 文本 20 教室 文本 5 年制 文本 8 專業(yè) 文本 16 班主任 文本 8 備注 備注 Classkecheng表: 字段名稱 類型 寬度 小數(shù)位 年級 文本 16 專業(yè) 文本 12 年制 文本 8
25、 學期 文本 50 課程名稱 文本 20 Jf表: 字段名稱 類型 寬度 小數(shù)位 學號 文本 5 學期 文本 50 交費 貨幣 自動 欠費 貨幣 自動 日期 日期/時間 操作員 文本 10 Kaosileixing表: 字段名稱 類型 寬度 小數(shù)位 類型 文本 10 Use表: 字段名稱 類型 寬度 小數(shù)位 username 文本 20 password 文本 20 Admin 文本 2 Readonly 文本 2 Qx1
26、 文本 2 Qx2 文本 2 Qx3 文本 2 Qx4 文本 2 xj表: 字段名稱 類型 寬度 小數(shù)位 學號 文本 9 姓名 文本 8 性別 文本 2 班級 文本 10 出生年月 日期/時間 家庭住址 文本 30 郵政編碼 數(shù)字(長整型) 聯(lián)系電話 數(shù)字(長整型) 入學時間 日期/時間 備注 備注 xuefei表: 字段名稱 類型 寬度 小數(shù)位 年級 文本 16 專業(yè) 文本 50 年制 文本
27、20 學期 文本 40 學費 貨幣 自動 第四章 系統(tǒng)代碼 本部分主要內(nèi)容為本系統(tǒng)的運行界面以及主要界面的源代碼。 4.1系統(tǒng)登陸界面: 本界面的主要功能是為了對系統(tǒng)進行安全性管理,本系統(tǒng)的用戶名和密碼保存在USE表中,本系統(tǒng)根據(jù)不同的用戶而設(shè)置了不同的權(quán)限,可以用909;909為用戶名和密碼來登陸本系統(tǒng)。 圖13 登陸界面 Private Sub Command1_Click() Dim mrc As ADODB.Recordset txtsql = "select username from
28、 use where username=" & Trim(Text1.Text) & "" Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then MsgBox " 用戶名錯誤!", vbExclamation + vbOKOnly, "警告" Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Exit Sub End If username = mrc.Fields(0) txtsql2 = "select userna
29、me from use where password=" & Trim(Text2.Text) & "" Set mrc = ExecuteSQL(txtsql2) If mrc.EOF = True Then MsgBox " 密碼錯誤!", vbExclamation + vbOKOnly, "警告" Text2.SetFocus Text2.SelStart = 0 Text2.SelLength = Len(Text2.Text) Exit Sub End If txtsql = "select username from use where us
30、ername=" & Trim(Text1.Text) & "and password=" & Trim(Text2.Text) & "" Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then MsgBox "用戶名稱和密碼不匹配!", vbExclamation + vbOKOnly, "警告" Exit Sub End If MDIForm1.Show frmcpass.Text1.Text = Text1.Text Unload Me End Sub Private Sub Command2_Click()
31、 Unload Me End Sub Private Sub Form_Load() End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocus End If End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Command1.SetFocus End If End Sub 4.2系統(tǒng)主界面: 本模塊是本
32、系統(tǒng)的應(yīng)用界面,在本界面上集成了本系統(tǒng)的所有功能,共有6個功能菜單和19個子菜單(功能模塊),從而實現(xiàn)了本系統(tǒng)從班級管理、檔案管理、繳費管理、課程管理、成績管理等系統(tǒng)的具體功能,同時,在系統(tǒng)管理模塊中可以完成對本系統(tǒng)的安全性管理。 圖14 系統(tǒng)應(yīng)用界面 Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVa
33、l cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Dim find1 As Integer Dim liulan1 As Integer Private Sub add_Click() qxstr = Executeqx(2) If qxstr = "false" Or qxstr = "readonly" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End I
34、f Form1.Show modi = False Form1.ZOrder (0) End Sub Private Sub cjadd_Click() fenshumodi = False qxstr = Executeqx(4) If qxstr = "false" Or qxstr = "readonly" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If frmcj2.Show frmcj2.
35、ZOrder 0 End Sub Private Sub cjbrowse_Click() qxstr = Executeqx(4) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If frmcj1.Show frmcj1.ZOrder 0 End Sub Private Sub claasfind_Click() qxstr = Executeqx(2) If qxstr
36、 = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Form4.Show Form4.ZOrder (0) i = SetWindowPos(Form4.hwnd, -1, 0, 0, 0, 0, 3) End Sub Private Sub classapp_Click() qxstr = Executeqx(2) If qxstr = "false" Or qxstr = "readonly"
37、 Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Formclass1.Show classmodi = False Formclass1.classload Formclass1.ZOrder (0) End Sub Public Sub clabrowse() txtsql = "select * from class" Formclass2.ZOrder (0) Formclass2.Caption =
38、 "瀏覽班級設(shè)置" Formclass2.classshowtitle Formclass2.classshowdata End Sub Private Sub classbrowse_Click() qxstr = Executeqx(2) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Formclass2.Show End Sub Private Sub class
39、find_Click() qxstr = Executeqx(2) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Formclass3.Show Formclass3.ZOrder (0) End Sub Private Sub find_Click() End Sub Private Sub classkecheng_Click() qxstr = Exec
40、uteqx(4) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Frmclasskecheng1.Show Frmclasskecheng1.ZOrder End Sub Private Sub denglu2_Click() Frmdenlu.Show Unload Me End Sub Private Sub jiaofeiadd_Click() qxstr
41、= Executeqx(3) If qxstr = "false" Or qxstr = "readonly" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Frmjf1.Show Frmjf1.ZOrder 0 End Sub Private Sub jiaofeibrowse_Click() qxstr = Executeqx(3) If qxstr = "false" Then ss = MsgBox("對不
42、起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If frmjf2.Show frmjf2.ZOrder 0 End Sub Private Sub jiaofeifind_Click() qxstr = Executeqx(3) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Frmjf
43、4.Show End Sub Private Sub jibenkecheng_Click() qxstr = Executeqx(4) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If frmjiben.Show frmjiben.ZOrder 0 End Sub Private Sub leixing_Click() qxstr = Executeqx(4) If q
44、xstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Frmleixing.Show Frmleixing.ZOrder 0 End Sub Private Sub liulan_Click() qxstr = Executeqx(2) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation +
45、vbOKOnly, " 警告") Exit Sub End If find = False Form3.Show End Sub Private Sub MDIForm_Load() username = "0001" DataEnv1.Connection1.ConnectionString = connstring StatusBar1.Panels(2).Text = Now StatusBar1.Panels(3).Text = "當前操作員: " & username Dim aa As String Select Case Execute
46、qx(1) Case "admin" aa = "超級管理員" Case "readonly" aa = "只讀管理員" Case Else aa = "普通管理員" End Select StatusBar1.Panels(4).Text = "狀態(tài): " & aa End Sub Private Sub useradd_Click() qxstr = Executeqx(1) If qxstr = "false" Or qxstr = "readonly" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系
47、!", vbInformation + vbOKOnly, " 警告") Exit Sub End If frmuser1.Show frmuser1.ZOrder 0 End Sub Private Sub usermodi_Click() qxstr = Executeqx(1) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If frmcpass.Show End Sub
48、 Private Sub xuefeiadd_Click() qxstr = Executeqx(3) If qxstr = "false" Or qxstr = "readonly" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If xuefeimodi = False Dim i As Integer For i = 0 To 3 frmxuefei1.Combo1(i).Enabled = True Ne
49、xt i Me.Caption = "添加班級設(shè)置" For i = 0 To 3 frmxuefei1.Combo1(i).Text = "" Next i frmxuefei1.Text1.Text = "" frmxuefei1.Show frmxuefei1.ZOrder 0 End Sub Public Sub xfbrowse() txtsql = "select * from xuefei order by 學期 desc, 年級 desc,專業(yè) desc" Frmxuefei2.ZOrder (0) Frmxuefei2
50、.Caption = "瀏覽學費設(shè)置" Frmxuefei2.xuefeishowtitle Frmxuefei2.xuefeishowdata End Sub Private Sub xuefeibrowse_Click() qxstr = Executeqx(3) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Frmxuefei2.Show End Sub Privat
51、e Sub xuefeifind_Click() qxstr = Executeqx(3) If qxstr = "false" Then ss = MsgBox("對不起,你沒有管理本功能的權(quán)限,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Frmxuefei3.Show Frmxuefei3.ZOrder (0) i = SetWindowPos(Frmxuefei3.hwnd, -1, 0, 0, 0, 0, 3) End Sub 4.3用戶管理模塊: 本模塊是
52、本系統(tǒng)的安全性設(shè)置模塊,根據(jù)學校不同部門以及不同使用人員對本系統(tǒng)的要求和需要,從而實行了分級管理,對用戶的權(quán)限和類別進行了分類管理。 圖15 用戶管理界面 Private Sub Command1_Click() If Trim(Text1(0).Text) = "" Then MsgBox "用戶名不能為空!", vbExclamation + vbOKOnly, "警告" Text1(0).SetFocus Exit Sub End If If Trim(Text1(1).Text) = "" Then MsgB
53、ox "密碼不能為空!", vbExclamation + vbOKOnly, "警告" Text1(1).SetFocus Exit Sub End If If Trim(Text1(2).Text) = "" Then MsgBox "確認密碼不能為空!", vbExclamation + vbOKOnly, "警告" Text1(2).SetFocus Exit Sub End If If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then MsgBox "確認密碼不正確!", vbExclamation + v
54、bOKOnly, "警告" Text1(2).SetFocus Exit Sub End If Dim aa As Integer aa = 0 If Option1(2).Value = True Then For i = 0 To 3 If Check1(i).Value = 1 Then aa = 1 Exit For End If Next i If aa = 0 Then MsgBox " 普通用戶至少要有一項權(quán)限!", vbExclamation + vbOKOnly, "警告" Exit Sub End If End If
55、 Dim mrc As ADODB.Recordset txtsql = "select * from use where username=" & Trim(Text1(0).Text) & "" Set mrc = ExecuteSQL(txtsql) If mrc.EOF = False Then MsgBox " 已存在該用戶!", vbExclamation + vbOKOnly, "警告" Text1(0).SetFocus Text1(0).SelStart = 0 Text1(0).SelLength = Len(Text1(0).Text)
56、 Exit Sub End If txtsql = "select * from use" Set mrc = ExecuteSQL(txtsql) mrc.AddNew mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text) For i = 0 To 2 If Option1(i).Value = True Then Select Case i Case 0 mrc.Fields("admin") = "y" Case 1
57、 mrc.Fields("readonly") = "y" Case 2 For j = 0 To 3 If Check1(j).Value = 1 Then Select Case j Case 0 mrc.Fields("qx1") = "y" Case 1 mrc.Fields("qx2") = "y" Case 2 mrc.Fiel
58、ds("qx3") = "y" Case 3 mrc.Fields("qx4") = "y" End Select End If Next j End Select End If Next i mrc.Update MsgBox " 用戶添加成功!", vbExclamation + vbOKOnly, "警告" Text1(0).Text = "" Text1(1).Text = "" T
59、ext1(2).Text = "" End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Option1(2).Value = True End Sub Private Sub Form_Resize() Text1(0).SetFocus End Sub Private Sub Option1_Click(Index As Integer) If Index <> 2 Then For i = 0 To 3 Check1(i).Enabl
60、ed = False Next i Else For i = 0 To 3 Check1(i).Enabled = True Next i End If End Sub 4.4學生繳費管理模塊: 因為本系統(tǒng)中有些功能模塊具有相似之處,因此在本文只用此模塊進行一個簡單的說明。其它的相似模塊的代碼可能參閱本模塊的設(shè)計思路。 圖16 繳費管理界面 Public printstr As String Private Sub Command1_Click() Dim dbSource As Databas
61、e Set dbSource = OpenDatabase("xs.mdb") dbSource.Execute ("SELECT * INto 班級一覽表 IN 學生管理一覽表.xls EXCEL 5.0; FROM class") z = MsgBox("成功!", vbOKOnly, "查詢") End Sub Public Sub classshowtitle() Dim i As Integer MSF1.Clear With MSF1 .Cols = 8 .TextMatrix(0, 1) = "年級"
62、 .TextMatrix(0, 2) = "班級" .TextMatrix(0, 3) = "教室" .TextMatrix(0, 4) = "年制" .TextMatrix(0, 5) = "專業(yè)" .TextMatrix(0, 6) = "班主任" .TextMatrix(0, 7) = "備注" .ColWidth(0) = 100 .ColWidth(1) = 1300 .ColWidth(2) = 1200 .ColWidth(3) = 800 .ColWidth(4) = 8
63、00 .ColWidth(5) = 800 .ColWidth(6) = 800 .ColWidth(7) = 5000 .FixedRows = 1 For i = 1 To 7 .ColAlignment(i) = 0 Next i .FillStyle = flexFillSingle .Col = 0 .Row = 0 .RowSel = 1 .ColSel = .Cols - 1 .CellAlignment = 4 .Row =
64、 1 End With End Sub Public Sub classshowdata() Dim j As Integer Dim i As Integer Dim mrc1 As ADODB.Recordset Set mrc1 = ExecuteSQL(Trim(txtsql)) If mrc1.EOF = False Then mrc1.MoveFirst With MSF1 .Rows = 1 Do While Not mrc1.EOF .Rows = .Rows + 1
65、 For i = 1 To mrc1.Fields.Count .TextMatrix(.Rows - 1, i) = mrc1.Fields(i - 1) Next i mrc1.MoveNext Loop mrc1.Close End With Else If classfind = True Then Formclass2.Hide Formclass3.Show zzz = MsgBox("對不起,沒有此班級的檔案記錄!", vbOKOnly, "查詢") Formcl
66、ass3.ZOrder (0) Formclass3.Text1(0).SetFocus End If End If End Sub Private Sub cmddel_Click() qxstr = Executeqx(2) If qxstr = "readonly" Then ss = MsgBox("對不起,你是只讀用戶不能刪除記錄,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If Dim mrc As ADODB.Recordset Dim msgtext As String Dim intcount As Integer If Trim(Me.MSF1.TextMatrix(MSF1.Row, 1
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。