《VB程序設(shè)計》課程設(shè)計說明書——學(xué)生信息管理系統(tǒng)

上傳人:仙*** 文檔編號:29514863 上傳時間:2021-10-07 格式:DOC 頁數(shù):44 大?。?.47MB
收藏 版權(quán)申訴 舉報 下載
《VB程序設(shè)計》課程設(shè)計說明書——學(xué)生信息管理系統(tǒng)_第1頁
第1頁 / 共44頁
《VB程序設(shè)計》課程設(shè)計說明書——學(xué)生信息管理系統(tǒng)_第2頁
第2頁 / 共44頁
《VB程序設(shè)計》課程設(shè)計說明書——學(xué)生信息管理系統(tǒng)_第3頁
第3頁 / 共44頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《VB程序設(shè)計》課程設(shè)計說明書——學(xué)生信息管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《《VB程序設(shè)計》課程設(shè)計說明書——學(xué)生信息管理系統(tǒng)(44頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 畢業(yè)統(tǒng)考 2010—2011學(xué)年第二學(xué)期08級畢業(yè)統(tǒng)考VB程序設(shè)計統(tǒng)考作品 《VB程序設(shè)計》課程設(shè)計說明書——學(xué)生信息管理系統(tǒng) 專 業(yè): 08計算機(jī)應(yīng)用與技術(shù) 班 級: 08計應(yīng)2班 學(xué) 號: xxxxxxxxxxxxx班 姓 名: xxx 日 期: 2011-03-20 第1章 系統(tǒng)概述 1.系統(tǒng)概述 本學(xué)生信息管理系統(tǒng)可以說是一個綜合性的學(xué)校學(xué)生管理系統(tǒng),這它集成了學(xué)生學(xué)籍管理系統(tǒng)、學(xué)生成績管理

2、系統(tǒng)、學(xué)生檔案管理系統(tǒng)、系統(tǒng)等多種功能,因而具有較強(qiáng)的實用性和先進(jìn)性。 1.1 系統(tǒng)及需求分析 1.1.1 系統(tǒng)需求 通過調(diào)查,要求系統(tǒng)需要有以下功能: ⑴ 由于操作人員的計算機(jī)知識普遍較差,要求有良好的人機(jī)界面; ⑵ 由于該系統(tǒng)的使用對象多,要求有較好的權(quán)限管理; ⑶ 原始數(shù)據(jù)修改簡單方便,支持多條件修改 ⑷ 方便的數(shù)據(jù)查詢,支持多條件查詢; ⑸ 在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好; ⑹ 數(shù)據(jù)計算自動完成,盡量減少人工干預(yù); 1.1.2可行性分析 (1) 對象運用可行性 由于本系統(tǒng)管理的對象單一,都是在校學(xué)生,且每個數(shù)據(jù)內(nèi)容

3、具有較強(qiáng)的關(guān)聯(lián)性,涉及的計算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。且學(xué)校用于學(xué)生管理的微機(jī)都是PIII以上的機(jī)器,在存儲量、速度方面都能滿足數(shù)據(jù)庫運行的要求。 (2)社會與經(jīng)濟(jì)可行性 利用學(xué)生信息管理系統(tǒng)實現(xiàn)了無紙化辦公,提高效率的同時還保護(hù)了環(huán)境。本來大量的計算、數(shù)據(jù)統(tǒng)計工作需要幾天、甚至一個月完成的工作,可以在幾個小時,最多幾天內(nèi)完成,大量節(jié)省了人力資本。學(xué)生信息管理系統(tǒng)同時也給老師和學(xué)生帶來了極大的方便。老師可以將課程安排,第一時間錄入到系統(tǒng)。學(xué)生也可以第一時間登錄到該系統(tǒng),查詢自己本學(xué)期課程安排和考試方式,大大提高了時間成本。 1.2系統(tǒng)設(shè)計的背景 本系統(tǒng)的設(shè)計是在W

4、indows 2000中文版操作系統(tǒng)環(huán)境下,使用Visual Basic 6.0中文版開發(fā)成功的。數(shù)據(jù)庫是MIS中的重要支持技術(shù),在MIS開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個重要的問題,目前,數(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)用程序。它簡單易學(xué)、效率高,且功能強(qiáng)大,可以與Windows的專業(yè)開發(fā)工具SDK相媲美,而且程序開發(fā)人員不

5、必具有C/C++編程基礎(chǔ)。在Visual Basic環(huán)境下,利用事件驅(qū)動的編程機(jī)制、新穎易用的可視化設(shè)計工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動態(tài)鏈接庫(DLL)、動態(tài)數(shù)據(jù)交換(DDE)、對象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)訪問(ODBC)等技術(shù),可以高效、快速地開發(fā)出Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。 總的來說,Visual Basic具有以下特點: 可視化編程: 用傳統(tǒng)程序設(shè)計語言設(shè)計程序時,都是通過編寫程序代碼來設(shè)計用戶界面,在設(shè)計過程中看不到界面的實際顯示效果,必須編譯后運行程序才能觀察。如果對界面的效果不滿意,還要回到程序中

6、修改。有時候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)效率。Visual Basic提供了可視化設(shè)計工具,把Windows界面設(shè)計的復(fù)雜性“封裝”起來,開發(fā)人員不必為界面設(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++)不完全相同。在

7、一般的面向?qū)ο蟪绦蛟O(shè)計語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而Visual Basic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計方法(OOP),把程序和數(shù)據(jù)封裝起來作為一個對象,并為每個對象賦予應(yīng)有的屬性,使對象成為實在的東西。在設(shè)計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,Visual Basic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。 結(jié)構(gòu)化程序設(shè)計語言 Visual Basic是在BASIC語言的基礎(chǔ)上發(fā)展起來的,具有高級程序設(shè)計語言的語句結(jié)構(gòu),接近于自然語言和人類的邏輯思維方式。Visual Basic語句簡單易懂,其編輯器

8、支持彩色代碼,可自動進(jìn)行語法錯誤檢查,同時具有功能強(qiáng)大且使用靈活的調(diào)試器和編譯器。 Visual Basic是解釋型語言,在輸入代碼的同時,解釋系統(tǒng)將高級語言分解翻譯成計算機(jī)可以識別的機(jī)器指令,并判斷每個語句的語法錯誤。在設(shè)計Visual Basic程序的過程中,隨時可以運行程序,而在整個程序設(shè)計好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離Visual Basic環(huán)境,直接在Windows環(huán)境下運行 事件驅(qū)動編程機(jī)制 Visual Basic通過事件來執(zhí)行對象的操作。一個對象可能會產(chǎn)生多個事件,每個事件都可以通過一段程序來響應(yīng)。例如,命令按鈕是一個對象,當(dāng)用戶單擊該按鈕時,將產(chǎn)生

9、一個“單擊“(CLICK)事件,而在產(chǎn)生該事件時將執(zhí)行一段程序,用來實現(xiàn)指定的操作。 在用Visual Basic設(shè)計大型應(yīng)用軟件時,不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個事件來驅(qū)動完成某種特定的功能,或者由事件驅(qū)動程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。 訪問數(shù)據(jù)庫 Visual Basic具有強(qiáng)大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強(qiáng)大的數(shù)據(jù)存儲和檢索功能。同時,Visual Basic還能直接編輯

10、和訪問其他外部數(shù)據(jù)庫,如dBASE,F(xiàn)oxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用Visual Basic編輯和處理。 Visual Basic提供開放式數(shù)據(jù)連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網(wǎng)絡(luò)數(shù)據(jù)庫,如SQL Server,Oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語言SQL數(shù)據(jù)標(biāo)準(zhǔn),直接訪問服務(wù)器上的數(shù)據(jù)庫,并提供了簡單的面向?qū)ο蟮膸觳僮髦噶詈投嘤脩魯?shù)據(jù)庫訪問的加鎖機(jī)制和網(wǎng)絡(luò)數(shù)據(jù)庫的SQL的編程技術(shù),為單機(jī)上運行的數(shù)據(jù)庫提供了SQL網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地實現(xiàn)客戶/服務(wù)器(client/server)方案。 動態(tài)數(shù)

11、據(jù)交換(DDE) 利用動態(tài)數(shù)據(jù)交換(Dynamic Data Exchange)技術(shù),可以把一種應(yīng)用程序中的數(shù)據(jù)動態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時,可以自動更新鏈接的數(shù)據(jù)。Visual Basic提供了動態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他Windows應(yīng)用程序建立動態(tài)數(shù)據(jù)交換,在不同的應(yīng)用程序之間進(jìn)行通信。 對象的鏈接與嵌入(OLE) 對象的鏈接與嵌入(OLE)將每個應(yīng)用程序都看做是一個對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動畫、文

12、字等各種信息的集合式的文件。OLE技術(shù)是Microsoft公司對象技術(shù)的戰(zhàn)略,它把多個應(yīng)用程序合為一體,將每個應(yīng)用程序看做是一個對象進(jìn)行鏈接和嵌入,是一種應(yīng)用程序一體化的技術(shù)。利用OLE技術(shù),可以方便地建立復(fù)合式文檔(compound document),這種文檔由來自多個不同應(yīng)用程序的對象組成,文檔中的每個對象都與原來的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來應(yīng)用程序完全相同的操作。 動態(tài)鏈接庫(DLL) Visual Basic是一種高級程序設(shè)計語言,不具備低級語言的功能,對訪問機(jī)器硬件的操作不太容易實現(xiàn)。但它可以通過動態(tài)鏈接庫技術(shù)將C/C++或匯編語言編寫的程序加入到Visual Basic應(yīng)

13、用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。此外,通過動態(tài)鏈接庫,還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實現(xiàn)SDK所具有的功能。 1.3系統(tǒng)的功能簡介 本系統(tǒng)主要可以實現(xiàn)以下的管理功能:班級管理、學(xué)生檔案管理、課程管理、成績管理等等。 1.3.1 項目規(guī)劃 學(xué)生信息管理系統(tǒng)是一個典型的數(shù)據(jù)庫應(yīng)用程序,由班級管理、學(xué)生檔案管理、課程管理、成績管理等模塊組成,特規(guī)劃如下: 1.3.2系統(tǒng)管理模塊(CTRL+O) 該模塊的主要任務(wù)是維護(hù)系統(tǒng)的正常運行和安全性設(shè)置,包括添加用戶(快捷鍵:CTRL+A)、重新登錄(快捷鍵:CTRL+F1)。 1.3.3班級管理

14、模塊(CTRL+P): 該模塊的功能是實現(xiàn)對全校班級的管理工作,包括:班級游覽、班級添加、班級查詢等,這三個功能模塊各自獨立,完成學(xué)校的全部班級的管理。 1.3.4學(xué)生檔案管理模塊(CTRL+T): 該模塊的主要功能是實現(xiàn)對學(xué)生的個人信息的管理工作,包括檔案添加、檔案瀏覽、檔案查詢等功能,從而方便學(xué)校管理部門對學(xué)校的基本情況的快速查詢和了解。 1.3.5課程管理模塊(CTRL+R): 該模塊對各個班級的課程進(jìn)行設(shè)置,并可在其中設(shè)置各門課程的教材選用情況,方便了學(xué)校教材管理部門和教務(wù)處的教學(xué)管理人員的工作。該模塊包括基本課程設(shè)計和班級課程設(shè)置兩個模塊。 1.3.6成績管理模塊(CTR

15、L+F): 學(xué)校的成績管理工作是檢驗學(xué)生學(xué)習(xí)情況的一個主要手段,本模塊包括考試類型設(shè)置,共有期中考試和期未考試兩種類型,還設(shè)置了成績添加、成績游覽功能模塊。 1.4系統(tǒng)開發(fā)的目標(biāo) 出于本系統(tǒng)是學(xué)校學(xué)生管理的一個綜合性的系統(tǒng),本系統(tǒng)的設(shè)計目標(biāo)將最終定位于完成以上所述的系統(tǒng)主要業(yè)務(wù)的基本模型上。 畢業(yè)統(tǒng)考 第2章 系統(tǒng)分析 2.1系統(tǒng)流程 在用戶啟動應(yīng)用程序時,首先進(jìn)入登陸界面進(jìn)行用戶的身份驗證。如果用戶通過身份驗證,系統(tǒng)將根據(jù)用戶的不同級別分別引導(dǎo)用戶進(jìn)入不同的界面,超級管理員和老

16、師可進(jìn)入各自的管理界面進(jìn)行操作和查詢,而學(xué)生用戶則只能通過輸入姓名、學(xué)號來查詢自己的信息。 2.2數(shù)據(jù)存儲分析:實體聯(lián)系圖 1、數(shù)據(jù)模型設(shè)計。首先來做出學(xué)生成績管理系統(tǒng)的E-R圖,分析這個問題的實體,從系統(tǒng)分析可以知道,學(xué)生的成績是由任課教師按照課程給出的,學(xué)生、課程、教師組成了這個系統(tǒng)的三個實體。 2、再分析三個實體之間的聯(lián)系。首先,這三個實體不是一個統(tǒng)一體,學(xué)生成績與教師沒有內(nèi)在聯(lián)系,教師必須通過課程實體才能與學(xué)生建立聯(lián)系,因而先不考慮。課程與學(xué)生這兩個實體是多對多聯(lián)系;一位學(xué)生要學(xué)習(xí)多門課程,一門課程有多位學(xué)生共同學(xué)習(xí)。而學(xué)習(xí)成績是這兩個實體“學(xué)生”和“成績”共有的屬性,應(yīng)填在二者

17、的聯(lián)系“學(xué)習(xí)”邊。因為成績既不是學(xué)生獨有的,也不是課程獨有的;“學(xué)生甲70分”或“英語70分”是不完全的,說“學(xué)生甲英語70分”才是正確的,因為70分是學(xué)生甲和英語課二者共有的。這個E-R圖可畫成下圖。 學(xué)生 n 學(xué)生 成績 課程 m 課程 成績 學(xué)習(xí) 學(xué)生成績管理系統(tǒng)中學(xué)生與課程的E-R圖 教師與課程這兩個實體之間,是一對多聯(lián)系;一位教師可以都多門課程,而一門課程對于學(xué)生成績來說只能有一位教師(英語、高等數(shù)學(xué)有多位教師教,但對某個固定的學(xué)生來說只能有一位教師)。其E-R圖,如下所示。 1 教師 教學(xué) 課程 n 教師

18、課程 教學(xué) 教師與課程的E-R圖組合到一起,得到最后的E-R圖,有了E-R圖, 就可以設(shè)計數(shù)據(jù)庫。下圖為最后的e-r圖。 n 學(xué)生 領(lǐng)導(dǎo) n n 選修 m 1 n 任 課 教 師 課程 程 3 畢業(yè)統(tǒng)考 第3章

19、系統(tǒng)設(shè)計 3.1軟件模塊結(jié)構(gòu)設(shè)計 3.1.1系統(tǒng)方案確定 通過對系統(tǒng)的調(diào)研與分析,系統(tǒng)主要應(yīng)完成的功能有:班級管理、學(xué)生成績管理、課程管理、成績管理、系統(tǒng)管理等功能。 3.1.2軟件結(jié)構(gòu)設(shè)計 班級管理 接受數(shù)據(jù) 處理中心 檔案管理 課程管理 成績管理 本系統(tǒng)在執(zhí)行時,先根據(jù)不同的操作人員的需要來進(jìn)行相應(yīng)的模塊,然后可以輸入數(shù)據(jù)或者進(jìn)行其它的查詢或瀏覽等操作;總體來說,本系統(tǒng)屬于一個事務(wù)型管理系統(tǒng)。 3.2數(shù)據(jù)庫設(shè)計 3.2.1 Acess數(shù)據(jù)庫簡介 數(shù)據(jù)庫是有結(jié)構(gòu)的數(shù)據(jù)集合,它與一般的數(shù)據(jù)文件不同,(其中的數(shù)據(jù)是無結(jié)構(gòu)的

20、)是一串文字或數(shù)字流。數(shù)據(jù)庫中的數(shù)據(jù)可以是文字、圖象、聲音等。 Microsoft Access是一種關(guān)系式數(shù)據(jù)庫,關(guān)系式數(shù)據(jù)庫由一系列表組成,表又由一系列行和列組成,每一行是一個記錄,每一列是一個字段,每個字段有一個字段名,字段名在一個表中不能重復(fù)。表與表之間可以建立關(guān)系(或稱關(guān)聯(lián),連接),以便查詢相關(guān)聯(lián)的信息。Access數(shù)據(jù)庫以文件形式保存,文件的擴(kuò)展名是MDB。           Access 2000 的6種對象 Access 2000數(shù)據(jù)庫由六種對象組成,它們是表、查詢、窗體、報表、宏和模塊。  表(Table) ——表是數(shù)據(jù)庫的基本對象,是創(chuàng)建其他5種

21、對象的基礎(chǔ)。表由記錄組成,記錄由字段組成,表用來存貯數(shù)據(jù)庫的數(shù)據(jù),故又稱數(shù)據(jù)表。   查詢(Query)——查詢可以按索引快速查找到需要的記錄,按要求篩選記錄并能連接若干個表的字段組成新表。   窗體(Form)——窗體提供了一種方便的瀏覽、輸入及更改數(shù)據(jù)的窗口。還可以創(chuàng)建子窗體顯示相關(guān)聯(lián)的表的內(nèi)容。窗體也稱表單。   報表(Report)——報表的功能是將數(shù)據(jù)庫中的數(shù)據(jù)分類匯總,然后打印出來,以便分析。   宏(Macro)——宏相當(dāng)于DOS中的批處理,用來自動執(zhí)行一系列操作。Access列出了一些常用的操作供用戶選擇,使用起來十分方便。   模塊(Module)——模塊

22、的功能與宏類似,但它定義的操作比宏更精細(xì)和復(fù)雜,用戶可以根據(jù)自己的需要編寫程序。模塊使用Visual Basic編程。   與Access 以前的版本比較,Access 2000新增了許多功能,字段類型增加了OLE對象和超級鏈接,特別是與Internet的融合,在數(shù)據(jù)庫中可以直接鏈接到指定的Web頁面或網(wǎng)絡(luò)文件,也可以把Web頁面上的表格導(dǎo)入到數(shù)據(jù)庫。Access 2000可以方便地利用各種數(shù)據(jù)源,包括dBASE, FoxBase,FoxPro,Excel,Word 等。Access 2000增加了數(shù)據(jù)庫訪問的安全機(jī)制,可對表一級設(shè)置訪問許可權(quán)。Access 2000還可以方便地利用Fox

23、Pro數(shù)據(jù)庫、Excel電子表格的數(shù)據(jù),還可以和Word混合使用,打印通用信函或信封。 本次數(shù)據(jù)庫采用了Microsoft推出的Access數(shù)據(jù)庫,能夠快速方便的和Office的其他套件綜合使用。由于Access具有顯著的簡易性和有效性,大量的桌面數(shù)據(jù)庫系統(tǒng)都采用Access作為后臺數(shù)據(jù)庫。使用Access的好處還在于,如果你的系統(tǒng)擴(kuò)展到Client/Server模式的時候,可以使用Microsoft的數(shù)據(jù)庫服務(wù)器軟件SQL Server,此時,程序只需要簡單的修改一下鏈接(ADO的數(shù)據(jù)源)就可以,這樣,為程序的平滑擴(kuò)展提供了非常有力的條件。 3.2.2建立數(shù)據(jù)庫 使用VB6.0所提供的

24、“可視化數(shù)據(jù)管理器”建立數(shù)據(jù)庫以及其中的數(shù)據(jù)表。 a. 在VB集成環(huán)境中啟動數(shù)據(jù)管理器:單擊“外接程序”菜單下的“可視化數(shù)據(jù)管理器”命令,打開可視化數(shù)據(jù)管理器“VisData”窗口。 b. 選擇“文件”菜單中的“新建”項,在“新建”子菜單中,選擇“Microsoft Access”子菜單中“Version 7.0 MDB”,在創(chuàng)建數(shù)據(jù)庫對框中選擇保存數(shù)據(jù)庫的路徑和庫文件名(XS)后保存。 本系統(tǒng)中所涉及到的主要實體共有七個數(shù)據(jù)表: allkecheng表:{課程名稱,教材} cj表:{學(xué)號,學(xué)期,類型,課程名稱,分?jǐn)?shù)} class表:{年級,班級,教室,年制,專業(yè),班主

25、任,備注} classkecheng表:{年級,專業(yè),年制,學(xué)期,課程名稱} kaoshileixing表:{類型} use表:{username,password,admin,readonly,qx1,qx2,qx3,qx4} xj表:{學(xué)號,姓名,性別,班級,出生年月,家庭住址,郵政編碼,聯(lián)系電話,入學(xué)時間,備注} 表名 字段名稱 類型 寬度 小數(shù)位數(shù) Allkecheng表 課程名稱 文本 20 教材 文本 30 Cj表 學(xué)號 文本 10 學(xué)期 文本 50 類型 文本 16 課程名稱 文本 20

26、 分?jǐn)?shù) 單精度型數(shù)字 自動 2 Class表 年級 文本 16 班級 文本 20 教室 文本 5 年制 文本 8 專業(yè) 文本 16 班主任 文本 8 備注 備注 classkecheng 年級 文本 16 專業(yè) 文本 12 年制 文本 8 學(xué)期 文本 50 課程名稱 文本 20 kaoshileixing 類型 文本 10 User表 username 文本 20 password 文本 20 Admin 文本 2

27、 readonly 文本 2 Qx1 文本 2 Qx2 文本 2 Qx3 文本 2 Qx4 文本 2 Xj表 學(xué)號 文本 9 姓名 文本 8 性別 文本 2 班級 文本 10 出生年月 日期/時間 家庭住址 文本 30 郵政編碼 長整型 聯(lián)系電話 長整型 入學(xué)時間 日期/時間 備注 備注 5

28、 畢業(yè)統(tǒng)考 第4章 系統(tǒng)的功能 本部分主要內(nèi)容為本系統(tǒng)的運行界面以及主要界面的源代碼。 4.1系統(tǒng)登陸界面: 本界面的主要功能是為了對系統(tǒng)進(jìn)行安全性管理,本系統(tǒng)的用戶名和密碼保存在USE表中,本系統(tǒng)根據(jù)不同的用戶而設(shè)置了不同的權(quán)限,可以用909;909為用戶名和密碼來登陸本系統(tǒng)。具體設(shè)置是: 選擇“工程”里的“添加窗體”,選擇“登錄對話框”,保存為“frmdenlu”。并且填寫代碼,完成與數(shù)據(jù)庫的鏈接。對窗體的屬性進(jìn)行設(shè)置,登錄界面添加 “某某學(xué)?!弊謽印? 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為“denglu”。并且

29、使用菜單編輯器,按照功能流程圖的位置制作主頁面的下拉菜單。完成后設(shè)置主頁面屬性,將“Caption”命名為“學(xué)生信息管理系統(tǒng)”;通過“Picture”屬性,對主界面的背景進(jìn)行設(shè)置;調(diào)整主界面大小,并設(shè)置“WindowState”屬性為“2-Mixmized”,并將頁面調(diào)整到屏幕的中央。添加代碼,完善《學(xué)生信息管理系統(tǒng)》主頁面的代碼設(shè)計。 Private Sub Command1_Click() Dim mrc As ADODB.Recordset txtsql = "select username from use where username=" & Trim(Text1.Text)

30、& "" 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 username from use where password=" & Trim(Text2.T

31、ext) & "" 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 username=" & Trim(Text1.Text) & "and password

32、=" & 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() Unload Me End Sub Private Sub Form_Load()

33、 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)管理模塊設(shè)計 “系統(tǒng)管理”模塊分為“添加新用戶”和“退出”兩個子模塊。 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選

34、擇添加“窗體”。并將新窗體保存為“frmuser1”。 進(jìn)行代碼設(shè)計,代碼如下: 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 MsgBox "密碼不能為空!", vbExclamation + vbOKOnly, "警告" Text1(1).SetFocu

35、s Exit Sub End If If Trim(Text1(2).Text) = "" Then MsgBox "確認(rèn)密碼不能為空!", vbExclamation + vbOKOnly, "警告" Text1(2).SetFocus Exit Sub End If If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then MsgBox "確認(rèn)密碼不正確!", vbExclamation + vbOKOnly, "警告" Text1(2).SetFocus Exit Sub End If Dim aa As

36、 Integer aa = 0 If Option1(2).Value = True Then For i = 0 To 2 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 Dim mrc As ADODB.Recordset txtsql = "select * from use where

37、 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) Exit Sub End If txtsql = "select * from use" Set mrc = Exe

38、cuteSQL(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 mrc.Fields("readonly") = "y" Case 2 For j = 0 To 2

39、 If Check1(j).Value = 1 Then Select Case j Case 0 mrc.Fields("qx1") = "y" Case 1 mrc.Fields("qx2") = "y" Case 2 mrc.Fields("qx3") = "y" End Select End If

40、 Next j End Select End If Next i mrc.Update MsgBox " 用戶添加成功!", vbExclamation + vbOKOnly, "警告" Text1(0).Text = "" Text1(1).Text = "" Text1(2).Text = "" End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Option1(2).Value = True End Sub

41、Private Sub Form_Resize() Text1(0).SetFocus End Sub Private Sub Option1_Click(Index As Integer) If Index <> 2 Then For i = 0 To 2 Check1(i).Enabled = False Next i Else For i = 0 To 2 Check1(i).Enabled = True Next i End If End Sub 通過代碼設(shè)計,實現(xiàn)了對三種不同權(quán)限的新用戶的添加,管理員具有所有得權(quán)限,老師在管理員的授權(quán)下可以選擇系統(tǒng)

42、管理、課程管理與檔案管理、課程管理的一種、兩種或者全部權(quán)限,學(xué)生則只有瀏覽的功能。 4.3班級管理 在完成了系統(tǒng)的登錄頁面設(shè)計、系統(tǒng)主頁面系統(tǒng)設(shè)計后,接下來在總體設(shè)計思想的指導(dǎo)下完成系統(tǒng)的其余功能模塊的設(shè)計。這些子模塊作為《學(xué)生信息管理系統(tǒng)》的組成部分,在很大程度上增強(qiáng)了所開發(fā)系統(tǒng)的整體功能。以下主要講述班級管理這個功能模塊的具體設(shè)計和實現(xiàn)。 班級管理的主要功能是對各院系的班級的基本信息進(jìn)行管理,這些信息包括年級、班級、教室、年制、專業(yè)、班主任、備注等。相應(yīng)的管理操作包括:添加記錄、修改記錄、刪除記錄、查詢記錄以及打印記錄。執(zhí)行查詢,先輸入要進(jìn)行操作的班級,確定后再進(jìn)行對應(yīng)的操作。添加操

43、作可直接添加新的班級記錄。 4.3.1添加班級模塊設(shè)計 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為“formclass1”。添加代碼并且進(jìn)行屬性設(shè)置。將“Caption”改為“添加班級”,并且調(diào)整窗口大小。 “添加系統(tǒng)”模塊的界面如下圖所示: 4.3.2瀏覽班級模塊設(shè)計 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為“formclass2”。添加代碼并且進(jìn)行屬性設(shè)置。將“Caption”改為“瀏覽班級”,并且調(diào)整窗口大小。 “添加系統(tǒng)”模塊的界面如下圖所示: 通過設(shè)計的瀏覽班級

44、模塊,可以根據(jù)年級,對本校的各班級信息進(jìn)行總體瀏覽。并且根據(jù)需要,對班級設(shè)置進(jìn)行修改,刪除,打印。 4.3.3班級查詢模塊設(shè)計 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為“formclass3”。進(jìn)行屬性設(shè)置。將“Caption”改為“班級查詢”,并且調(diào)整窗口大小。通過設(shè)計,此模塊可以通過年級、班級、專業(yè)對班級設(shè)計查詢。 “添加系統(tǒng)”模塊的界面如下圖所示: 進(jìn)行代碼設(shè)計,代碼如下: Private Sub Command1_Click() txtsql = "" If Text1(0).Text <> "" Then

45、 If txtsql = "" Then txtsql = "年級=" & Trim(Text1(0).Text) & "" Else txtsql = txtsql & "and 年級=" & Trim(Text1(0).Text) & "" End If End If If Text1(1).Text <> "" Then If txtsql = "" Then txtsql = "班級=" & Trim(Text1(1).Text) & "" Else txtsql = txtsql & "and 班級=" & Trim

46、(Text1(1).Text) & "" End If End If If Text1(2).Text <> "" Then aa = 1 If txtsql = "" Then txtsql = "專業(yè)=" & Trim(Text1(2).Text) & "" Else txtsql = txtsql & "and 專業(yè)=" & Trim(Text1(2).Text) & "" End If End If If txtsql = "" Then ss = MsgBox("你至少要輸入一個條件以上才能查詢!", , " 警告")

47、 Text1(0).SetFocus Exit Sub End If txtsql = "select * from class where " & txtsql Dim mrc As ADODB.Recordset Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then zzz = MsgBox("對不起,沒有此班級的檔案記錄!", vbOKOnly, "查詢") Formclass3.ZOrder (0) Formclass3.Text1(0).SetFocus Exit Sub End

48、If Formclass2.printstr = txtsql classfind = True Formclass2.Show Formclass2.classshowtitle Formclass2.classshowdata Formclass2.Caption = "班級設(shè)置查詢結(jié)果" Formclass2.ZOrder (0) End Sub Private Sub Form_Unload(Cancel As Integer) classfind = False End Sub 必須同時輸入一個條件,否則將彈出警告對話框“你至少要輸入一個以上條件以上才能查詢

49、!”用戶可以同時設(shè)定一個、兩個或者三個條件進(jìn)行查詢。 4. 4學(xué)生檔案管理 學(xué)生檔案管理是對全校學(xué)生的基本資料進(jìn)行查詢、修改、添加、刪除、打印操作。執(zhí)行查詢操作時,可以根據(jù)學(xué)號、姓名、班級、姓名關(guān)鍵字進(jìn)行查詢??梢詫Σ檎业降男畔⑦M(jìn)行修改和刪除。添加操作可直接添加相應(yīng)的學(xué)生基本情況。學(xué)生信息包括學(xué)號、姓名、性別、班級、家庭住址、出生年月、聯(lián)系電話、入學(xué)時間、備注等信息。 4.4.1檔案添加模塊設(shè)計 首先明確檔案添加的功能是添加對入學(xué)的學(xué)生進(jìn)行入學(xué)檔案登記,其中包括姓名、性別、班級、聯(lián)系電話等信息。在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為

50、“form1”。進(jìn)行屬性設(shè)置,并且編寫代碼,完成的頁面如下圖所示: Private Sub Command1_Click() For j = 0 To 7 If Text1(j) = "" Then ss = MsgBox(Label1(j).Caption & "不能為空!", vbExclamation + vbOKOnly, "警告") Text1(j).SetFocus Text1(j).SelStart = 0 Text1(j).SelLength = Len(Text1(j).Text) Exit Sub

51、 End If Next Dim mrc As ADODB.Recordset txtsql1 = "select * from xj where 學(xué)號=" & Trim(Text1(0).Text) & "" Set mrc = ExecuteSQL(txtsql1) If modi = False Then If mrc.EOF = False Then sss = MsgBox("已經(jīng)存在該學(xué)號的記錄,學(xué)號不能重復(fù)!", vbExclamation + vbOKOnly, "警告") Text1(0).SetFocus Text1(0

52、).SelStart = 0 Text1(0).SelLength = Len(Text1(0).Text) mrc.Close Exit Sub End If End If If Not IsDate(Text1(2).Text) Then 判斷是否日期格式 ssss = MsgBox("應(yīng)輸入日期 mm-dd-yy", vbInformation + vbOKOnly, "警告") Text1(2).SetFocus Text1(2).SelStart = 0 Text1(2).SelLength = Len

53、(Text1(2).Text) Exit Sub End If If Not IsDate(Text1(6).Text) Then ssss = MsgBox("應(yīng)輸入日期 mm-dd-yy", vbInformation + vbOKOnly, "警告") Text1(6).SetFocus Text1(6).SelStart = 0 Text1(6).SelLength = Len(Text1(6).Text) Exit Sub End If If modi = True Then txtsql1 = "u

54、pdate xj set 學(xué)號=" & Trim(Text1(0).Text) & ",姓名=" & Trim(Text1(1).Text) & ",性別=" & Trim(Combo1(0).Text) & ",班級=" & Trim(Combo1(1).Text) & ",出生年月=#" & Trim(Text1(2).Text) & "# ,家庭住址=" & Trim(Text1(3).Text) & " ,郵政編碼=" & Trim(Text1(4).Text) & " ,聯(lián)系電話=" & Trim(Text1(5).Text) & " ,入學(xué)時間=#" & Trim(Text1

55、(6).Text) & "# ,備注=" & Trim(Text1(7).Text) & "where 學(xué)號=" & Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1)) & "" Set mrc = ExecuteSQL(txtsql1) txtsql1 = "update cj set 學(xué)號=" & Trim(Text1(0).Text) & " where 學(xué)號=" & Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1)) & "" Set mrc = ExecuteSQL(txtsql1) tx

56、tsql1 = "update jf set 學(xué)號=" & Trim(Text1(0).Text) & " where 學(xué)號=" & Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1)) & "" Set mrc = ExecuteSQL(txtsql1) Unload Me Exit Sub End If txtsql1 = "select * from xj " Set mrc = ExecuteSQL(txtsql1) mrc.AddNew For i = 4 To 9 mrc.Fields(i) = Text1(i

57、 - 2).Text Next i mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text) mrc.Fields(2) = Trim(Combo1(0).Text) mrc.Fields(3) = Trim(Combo1(1).Text) mrc.Update Set mrc = Nothing For j = 0 To 7 Text1(j) = "" Next End Sub 4.4.2檔案瀏覽模塊設(shè)計 類似可以進(jìn)行檔案瀏覽模塊

58、設(shè)計,完成之后的設(shè)計見面如下圖所示: 其代碼如下: Public Sub showdata() Dim j As Integer Dim i As Integer Dim mrc As ADODB.Recordset Set mrc = New ADODB.Recordset Set mrc = ExecuteSQL(txtsql) If mrc.EOF = False Then mrc.MoveFirst With MSF1 .Rows = 50 .Row = 1 Do While Not mrc.EOF .R

59、ows = .Rows + 1 For i = 1 To mrc.Fields.Count .TextMatrix(.Row, i) = mrc.Fields(i - 1) Next i .Row = .Row + 1 mrc.MoveNext Loop End With Else If find = True Then Form3.Hide Form4.Show zzz = MsgBox("對不起,沒有此學(xué)生的檔案記錄!", vbOKOnly, "查詢") Form4.Z

60、Order (0) Form4.Text1(0).SetFocus End If End If Set mrc = Nothing End Sub Public Sub tree() TreeView1.Nodes.Clear Dim nodex As Node Dim mrc As ADODB.Recordset Dim mrc1 As ADODB.Recordset Dim str As String Dim a As String a = "年級" TreeView1.LineStyle = tvwRootLines str = "

61、select distinct 年級 from class order by 年級" Set mrc = ExecuteSQL(str) str = "select distinct 年級,班級 from class order by 年級,班級" Set mrc1 = ExecuteSQL(str) mrc.MoveFirst Do Until mrc.EOF mrc1.MoveFirst Set nodex = TreeView1.Nodes.Add(, , a, mrc.Fields(0), 1, 1) Do While Not mrc1.EOF If

62、 mrc1.Fields(0) = mrc.Fields(0) Then Set nodex = TreeView1.Nodes.Add(a, tvwChild, , mrc1.Fields(1), 2, 2) End If mrc1.MoveNext Loop a = a & "1" mrc.MoveNext Loop mrc1.Close mrc.Close Set mrc = Nothing Set mrc1 = Nothing End Sub Private Sub Toolbar1_ButtonClick(By

63、Val Button As MSComctlLib.Button) Select Case Button.Tag Case "find" Form4.Show Case "modi" If Trim(Me.MSF1.TextMatrix(MSF1.Row, 1)) = "" Then sssss = MsgBox("你還沒有選擇記錄!", vbOKOnly + vbExclamation, "警告") Exit Sub

64、 Else qxstr = Executeqx(2) If qxstr = "readonly" Then ss = MsgBox("對不起,你是只讀用戶不能修改記錄,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If modi = True Form1.Show F

65、orm1.ZOrder 0 End If Case "del" Dim mrc As ADODB.Recordset Dim intcount As Integer If Trim(Me.MSF1.TextMatrix(MSF1.Row, 1)) = "" Then sssss = MsgBox("你還沒有選擇記錄!", vbOKOnly + vbExclamation, "警告") Else

66、 If qxstr = "readonly" Then ss = MsgBox("對不起,你是只讀用戶不能刪除記錄,請與管理員聯(lián)系!", vbInformation + vbOKOnly, " 警告") Exit Sub End If If MsgBox("確定要刪除學(xué)號為 " & Trim(Me.MSF1.TextMatrix(MSF1.Row, 1)) & " 的記錄嗎?" & Chr(10) & Chr(13) & "該操作會導(dǎo)致該學(xué)生成績記錄的丟失!確定嗎?", vbOKCancel + vbExclamation, "警告") = vbOK Then intcount = Me.MSF1.Row txtsql = "delete * from xj where 學(xué)號=" &

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!