《VB程序設計》課程設計說明書——學生信息管理系統(tǒng)
《《VB程序設計》課程設計說明書——學生信息管理系統(tǒng)》由會員分享,可在線閱讀,更多相關《《VB程序設計》課程設計說明書——學生信息管理系統(tǒng)(44頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 畢業(yè)統(tǒng)考 2010—2011學年第二學期08級畢業(yè)統(tǒng)考VB程序設計統(tǒng)考作品 《VB程序設計》課程設計說明書——學生信息管理系統(tǒng) 專 業(yè): 08計算機應用與技術 班 級: 08計應2班 學 號: xxxxxxxxxxxxx班 姓 名: xxx 日 期: 2011-03-20 第1章 系統(tǒng)概述 1.系統(tǒng)概述 本學生信息管理系統(tǒng)可以說是一個綜合性的學校學生管理系統(tǒng),這它集成了學生學籍管理系統(tǒng)、學生成績管理
2、系統(tǒng)、學生檔案管理系統(tǒng)、系統(tǒng)等多種功能,因而具有較強的實用性和先進性。 1.1 系統(tǒng)及需求分析 1.1.1 系統(tǒng)需求 通過調查,要求系統(tǒng)需要有以下功能: ⑴ 由于操作人員的計算機知識普遍較差,要求有良好的人機界面; ⑵ 由于該系統(tǒng)的使用對象多,要求有較好的權限管理; ⑶ 原始數(shù)據(jù)修改簡單方便,支持多條件修改 ⑷ 方便的數(shù)據(jù)查詢,支持多條件查詢; ⑸ 在相應的權限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好; ⑹ 數(shù)據(jù)計算自動完成,盡量減少人工干預; 1.1.2可行性分析 (1) 對象運用可行性 由于本系統(tǒng)管理的對象單一,都是在校學生,且每個數(shù)據(jù)內容
3、具有較強的關聯(lián)性,涉及的計算過程不是很復雜。因此,比較適合于采用數(shù)據(jù)庫管理。且學校用于學生管理的微機都是PIII以上的機器,在存儲量、速度方面都能滿足數(shù)據(jù)庫運行的要求。 (2)社會與經濟可行性 利用學生信息管理系統(tǒng)實現(xiàn)了無紙化辦公,提高效率的同時還保護了環(huán)境。本來大量的計算、數(shù)據(jù)統(tǒng)計工作需要幾天、甚至一個月完成的工作,可以在幾個小時,最多幾天內完成,大量節(jié)省了人力資本。學生信息管理系統(tǒng)同時也給老師和學生帶來了極大的方便。老師可以將課程安排,第一時間錄入到系統(tǒng)。學生也可以第一時間登錄到該系統(tǒng),查詢自己本學期課程安排和考試方式,大大提高了時間成本。 1.2系統(tǒng)設計的背景 本系統(tǒng)的設計是在W
4、indows 2000中文版操作系統(tǒng)環(huán)境下,使用Visual Basic 6.0中文版開發(fā)成功的。數(shù)據(jù)庫是MIS中的重要支持技術,在MIS開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個重要的問題,目前,數(shù)據(jù)庫產品較多,每種產品都具有各自的特點和適用范圍,因此,在選擇數(shù)據(jù)庫時,應考慮數(shù)據(jù)庫應用的特點及適用范圍,本系統(tǒng)選用的數(shù)據(jù)庫語言介紹如下: Visual Basic語言 Visual Basic是一種可視化的、面對對象和條用事件驅動方式的結構化高級程序設計,可用于開發(fā)Windows環(huán)境下的種類應用程序。它簡單易學、效率高,且功能強大,可以與Windows的專業(yè)開發(fā)工具SDK相媲美,而且程序開發(fā)人員不
5、必具有C/C++編程基礎。在Visual Basic環(huán)境下,利用事件驅動的編程機制、新穎易用的可視化設計工具,使用Windows內部的應用程序接口(API)函數(shù),以及動態(tài)鏈接庫(DLL)、動態(tài)數(shù)據(jù)交換(DDE)、對象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)訪問(ODBC)等技術,可以高效、快速地開發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應用軟件系統(tǒng)。 總的來說,Visual Basic具有以下特點: 可視化編程: 用傳統(tǒng)程序設計語言設計程序時,都是通過編寫程序代碼來設計用戶界面,在設計過程中看不到界面的實際顯示效果,必須編譯后運行程序才能觀察。如果對界面的效果不滿意,還要回到程序中
6、修改。有時候,這種編程-編譯-修改的操作可能要反復多次,大大影響了軟件開發(fā)效率。Visual Basic提供了可視化設計工具,把Windows界面設計的復雜性“封裝”起來,開發(fā)人員不必為界面設計而編寫大量程序代碼。只需要按設計要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設置這些圖形對象的屬性。Visual Basic自動產生界面設計代碼,程序設計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設計的效率。 面向對象的程序設計 4.0版以后的Visual Basic支持面向對象的程序設計,但它與一般的面向對象的程序設計語言(C++)不完全相同。在
7、一般的面向對象程序設計語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而Visual Basic則是應用面向對象的程序設計方法(OOP),把程序和數(shù)據(jù)封裝起來作為一個對象,并為每個對象賦予應有的屬性,使對象成為實在的東西。在設計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,Visual Basic自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。 結構化程序設計語言 Visual Basic是在BASIC語言的基礎上發(fā)展起來的,具有高級程序設計語言的語句結構,接近于自然語言和人類的邏輯思維方式。Visual Basic語句簡單易懂,其編輯器
8、支持彩色代碼,可自動進行語法錯誤檢查,同時具有功能強大且使用靈活的調試器和編譯器。 Visual Basic是解釋型語言,在輸入代碼的同時,解釋系統(tǒng)將高級語言分解翻譯成計算機可以識別的機器指令,并判斷每個語句的語法錯誤。在設計Visual Basic程序的過程中,隨時可以運行程序,而在整個程序設計好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離Visual Basic環(huán)境,直接在Windows環(huán)境下運行 事件驅動編程機制 Visual Basic通過事件來執(zhí)行對象的操作。一個對象可能會產生多個事件,每個事件都可以通過一段程序來響應。例如,命令按鈕是一個對象,當用戶單擊該按鈕時,將產生
9、一個“單擊“(CLICK)事件,而在產生該事件時將執(zhí)行一段程序,用來實現(xiàn)指定的操作。 在用Visual Basic設計大型應用軟件時,不必建立具有明顯開始和結束的程序,而是編寫若干個微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個事件來驅動完成某種特定的功能,或者由事件驅動程序調用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。 訪問數(shù)據(jù)庫 Visual Basic具有強大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強大的數(shù)據(jù)存儲和檢索功能。同時,Visual Basic還能直接編輯
10、和訪問其他外部數(shù)據(jù)庫,如dBASE,F(xiàn)oxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用Visual Basic編輯和處理。 Visual Basic提供開放式數(shù)據(jù)連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網(wǎng)絡數(shù)據(jù)庫,如SQL Server,Oracle等。在應用程序中,可以使用結構化查詢語言SQL數(shù)據(jù)標準,直接訪問服務器上的數(shù)據(jù)庫,并提供了簡單的面向對象的庫操作指令和多用戶數(shù)據(jù)庫訪問的加鎖機制和網(wǎng)絡數(shù)據(jù)庫的SQL的編程技術,為單機上運行的數(shù)據(jù)庫提供了SQL網(wǎng)絡接口,以便在分布式環(huán)境中快速而有效地實現(xiàn)客戶/服務器(client/server)方案。 動態(tài)數(shù)
11、據(jù)交換(DDE) 利用動態(tài)數(shù)據(jù)交換(Dynamic Data Exchange)技術,可以把一種應用程序中的數(shù)據(jù)動態(tài)地鏈接到另一種應用程序中,使兩種完全不同的應用程序建立起一條動態(tài)數(shù)據(jù)鏈路。當原始數(shù)據(jù)變化時,可以自動更新鏈接的數(shù)據(jù)。Visual Basic提供了動態(tài)數(shù)據(jù)交換的編程技術,可以在應用程序中與其他Windows應用程序建立動態(tài)數(shù)據(jù)交換,在不同的應用程序之間進行通信。 對象的鏈接與嵌入(OLE) 對象的鏈接與嵌入(OLE)將每個應用程序都看做是一個對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個應用程序中,從而可以得到具有聲音、影像、圖像、動畫、文
12、字等各種信息的集合式的文件。OLE技術是Microsoft公司對象技術的戰(zhàn)略,它把多個應用程序合為一體,將每個應用程序看做是一個對象進行鏈接和嵌入,是一種應用程序一體化的技術。利用OLE技術,可以方便地建立復合式文檔(compound document),這種文檔由來自多個不同應用程序的對象組成,文檔中的每個對象都與原來的應用程序相聯(lián)系,并可執(zhí)行與原來應用程序完全相同的操作。 動態(tài)鏈接庫(DLL) Visual Basic是一種高級程序設計語言,不具備低級語言的功能,對訪問機器硬件的操作不太容易實現(xiàn)。但它可以通過動態(tài)鏈接庫技術將C/C++或匯編語言編寫的程序加入到Visual Basic應
13、用程序中,可以像調用內部函數(shù)一樣調用其他語言編寫的函數(shù)。此外,通過動態(tài)鏈接庫,還可以調用Windows應用程序接口(API)函數(shù),實現(xiàn)SDK所具有的功能。 1.3系統(tǒng)的功能簡介 本系統(tǒng)主要可以實現(xiàn)以下的管理功能:班級管理、學生檔案管理、課程管理、成績管理等等。 1.3.1 項目規(guī)劃 學生信息管理系統(tǒng)是一個典型的數(shù)據(jù)庫應用程序,由班級管理、學生檔案管理、課程管理、成績管理等模塊組成,特規(guī)劃如下: 1.3.2系統(tǒng)管理模塊(CTRL+O) 該模塊的主要任務是維護系統(tǒng)的正常運行和安全性設置,包括添加用戶(快捷鍵:CTRL+A)、重新登錄(快捷鍵:CTRL+F1)。 1.3.3班級管理
14、模塊(CTRL+P): 該模塊的功能是實現(xiàn)對全校班級的管理工作,包括:班級游覽、班級添加、班級查詢等,這三個功能模塊各自獨立,完成學校的全部班級的管理。 1.3.4學生檔案管理模塊(CTRL+T): 該模塊的主要功能是實現(xiàn)對學生的個人信息的管理工作,包括檔案添加、檔案瀏覽、檔案查詢等功能,從而方便學校管理部門對學校的基本情況的快速查詢和了解。 1.3.5課程管理模塊(CTRL+R): 該模塊對各個班級的課程進行設置,并可在其中設置各門課程的教材選用情況,方便了學校教材管理部門和教務處的教學管理人員的工作。該模塊包括基本課程設計和班級課程設置兩個模塊。 1.3.6成績管理模塊(CTR
15、L+F): 學校的成績管理工作是檢驗學生學習情況的一個主要手段,本模塊包括考試類型設置,共有期中考試和期未考試兩種類型,還設置了成績添加、成績游覽功能模塊。 1.4系統(tǒng)開發(fā)的目標 出于本系統(tǒng)是學校學生管理的一個綜合性的系統(tǒng),本系統(tǒng)的設計目標將最終定位于完成以上所述的系統(tǒng)主要業(yè)務的基本模型上。 畢業(yè)統(tǒng)考 第2章 系統(tǒng)分析 2.1系統(tǒng)流程 在用戶啟動應用程序時,首先進入登陸界面進行用戶的身份驗證。如果用戶通過身份驗證,系統(tǒng)將根據(jù)用戶的不同級別分別引導用戶進入不同的界面,超級管理員和老
16、師可進入各自的管理界面進行操作和查詢,而學生用戶則只能通過輸入姓名、學號來查詢自己的信息。 2.2數(shù)據(jù)存儲分析:實體聯(lián)系圖 1、數(shù)據(jù)模型設計。首先來做出學生成績管理系統(tǒng)的E-R圖,分析這個問題的實體,從系統(tǒng)分析可以知道,學生的成績是由任課教師按照課程給出的,學生、課程、教師組成了這個系統(tǒng)的三個實體。 2、再分析三個實體之間的聯(lián)系。首先,這三個實體不是一個統(tǒng)一體,學生成績與教師沒有內在聯(lián)系,教師必須通過課程實體才能與學生建立聯(lián)系,因而先不考慮。課程與學生這兩個實體是多對多聯(lián)系;一位學生要學習多門課程,一門課程有多位學生共同學習。而學習成績是這兩個實體“學生”和“成績”共有的屬性,應填在二者
17、的聯(lián)系“學習”邊。因為成績既不是學生獨有的,也不是課程獨有的;“學生甲70分”或“英語70分”是不完全的,說“學生甲英語70分”才是正確的,因為70分是學生甲和英語課二者共有的。這個E-R圖可畫成下圖。 學生 n 學生 成績 課程 m 課程 成績 學習 學生成績管理系統(tǒng)中學生與課程的E-R圖 教師與課程這兩個實體之間,是一對多聯(lián)系;一位教師可以都多門課程,而一門課程對于學生成績來說只能有一位教師(英語、高等數(shù)學有多位教師教,但對某個固定的學生來說只能有一位教師)。其E-R圖,如下所示。 1 教師 教學 課程 n 教師
18、課程 教學 教師與課程的E-R圖組合到一起,得到最后的E-R圖,有了E-R圖, 就可以設計數(shù)據(jù)庫。下圖為最后的e-r圖。 n 學生 領導 n n 選修 m 1 n 任 課 教 師 課程 程 3 畢業(yè)統(tǒng)考 第3章
19、系統(tǒng)設計 3.1軟件模塊結構設計 3.1.1系統(tǒng)方案確定 通過對系統(tǒng)的調研與分析,系統(tǒng)主要應完成的功能有:班級管理、學生成績管理、課程管理、成績管理、系統(tǒng)管理等功能。 3.1.2軟件結構設計 班級管理 接受數(shù)據(jù) 處理中心 檔案管理 課程管理 成績管理 本系統(tǒng)在執(zhí)行時,先根據(jù)不同的操作人員的需要來進行相應的模塊,然后可以輸入數(shù)據(jù)或者進行其它的查詢或瀏覽等操作;總體來說,本系統(tǒng)屬于一個事務型管理系統(tǒng)。 3.2數(shù)據(jù)庫設計 3.2.1 Acess數(shù)據(jù)庫簡介 數(shù)據(jù)庫是有結構的數(shù)據(jù)集合,它與一般的數(shù)據(jù)文件不同,(其中的數(shù)據(jù)是無結構的
20、)是一串文字或數(shù)字流。數(shù)據(jù)庫中的數(shù)據(jù)可以是文字、圖象、聲音等。 Microsoft Access是一種關系式數(shù)據(jù)庫,關系式數(shù)據(jù)庫由一系列表組成,表又由一系列行和列組成,每一行是一個記錄,每一列是一個字段,每個字段有一個字段名,字段名在一個表中不能重復。表與表之間可以建立關系(或稱關聯(lián),連接),以便查詢相關聯(lián)的信息。Access數(shù)據(jù)庫以文件形式保存,文件的擴展名是MDB。 Access 2000 的6種對象 Access 2000數(shù)據(jù)庫由六種對象組成,它們是表、查詢、窗體、報表、宏和模塊。 表(Table) ——表是數(shù)據(jù)庫的基本對象,是創(chuàng)建其他5種
21、對象的基礎。表由記錄組成,記錄由字段組成,表用來存貯數(shù)據(jù)庫的數(shù)據(jù),故又稱數(shù)據(jù)表。 查詢(Query)——查詢可以按索引快速查找到需要的記錄,按要求篩選記錄并能連接若干個表的字段組成新表。 窗體(Form)——窗體提供了一種方便的瀏覽、輸入及更改數(shù)據(jù)的窗口。還可以創(chuàng)建子窗體顯示相關聯(lián)的表的內容。窗體也稱表單。 報表(Report)——報表的功能是將數(shù)據(jù)庫中的數(shù)據(jù)分類匯總,然后打印出來,以便分析。 宏(Macro)——宏相當于DOS中的批處理,用來自動執(zhí)行一系列操作。Access列出了一些常用的操作供用戶選擇,使用起來十分方便。 模塊(Module)——模塊
22、的功能與宏類似,但它定義的操作比宏更精細和復雜,用戶可以根據(jù)自己的需要編寫程序。模塊使用Visual Basic編程。 與Access 以前的版本比較,Access 2000新增了許多功能,字段類型增加了OLE對象和超級鏈接,特別是與Internet的融合,在數(shù)據(jù)庫中可以直接鏈接到指定的Web頁面或網(wǎng)絡文件,也可以把Web頁面上的表格導入到數(shù)據(jù)庫。Access 2000可以方便地利用各種數(shù)據(jù)源,包括dBASE, FoxBase,FoxPro,Excel,Word 等。Access 2000增加了數(shù)據(jù)庫訪問的安全機制,可對表一級設置訪問許可權。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)擴展到Client/Server模式的時候,可以使用Microsoft的數(shù)據(jù)庫服務器軟件SQL Server,此時,程序只需要簡單的修改一下鏈接(ADO的數(shù)據(jù)源)就可以,這樣,為程序的平滑擴展提供了非常有力的條件。 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表:{學號,學期,類型,課程名稱,分數(shù)} class表:{年級,班級,教室,年制,專業(yè),班主
25、任,備注} classkecheng表:{年級,專業(yè),年制,學期,課程名稱} kaoshileixing表:{類型} use表:{username,password,admin,readonly,qx1,qx2,qx3,qx4} xj表:{學號,姓名,性別,班級,出生年月,家庭住址,郵政編碼,聯(lián)系電話,入學時間,備注} 表名 字段名稱 類型 寬度 小數(shù)位數(shù) Allkecheng表 課程名稱 文本 20 教材 文本 30 Cj表 學號 文本 10 學期 文本 50 類型 文本 16 課程名稱 文本 20
26、 分數(shù) 單精度型數(shù)字 自動 2 Class表 年級 文本 16 班級 文本 20 教室 文本 5 年制 文本 8 專業(yè) 文本 16 班主任 文本 8 備注 備注 classkecheng 年級 文本 16 專業(yè) 文本 12 年制 文本 8 學期 文本 50 課程名稱 文本 20 kaoshileixing 類型 文本 10 User表 username 文本 20 password 文本 20 Admin 文本 2
27、 readonly 文本 2 Qx1 文本 2 Qx2 文本 2 Qx3 文本 2 Qx4 文本 2 Xj表 學號 文本 9 姓名 文本 8 性別 文本 2 班級 文本 10 出生年月 日期/時間 家庭住址 文本 30 郵政編碼 長整型 聯(lián)系電話 長整型 入學時間 日期/時間 備注 備注 5
28、 畢業(yè)統(tǒng)考 第4章 系統(tǒng)的功能 本部分主要內容為本系統(tǒng)的運行界面以及主要界面的源代碼。 4.1系統(tǒng)登陸界面: 本界面的主要功能是為了對系統(tǒng)進行安全性管理,本系統(tǒng)的用戶名和密碼保存在USE表中,本系統(tǒng)根據(jù)不同的用戶而設置了不同的權限,可以用909;909為用戶名和密碼來登陸本系統(tǒng)。具體設置是: 選擇“工程”里的“添加窗體”,選擇“登錄對話框”,保存為“frmdenlu”。并且填寫代碼,完成與數(shù)據(jù)庫的鏈接。對窗體的屬性進行設置,登錄界面添加 “某某學校”字樣。 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為“denglu”。并且
29、使用菜單編輯器,按照功能流程圖的位置制作主頁面的下拉菜單。完成后設置主頁面屬性,將“Caption”命名為“學生信息管理系統(tǒng)”;通過“Picture”屬性,對主界面的背景進行設置;調整主界面大小,并設置“WindowState”屬性為“2-Mixmized”,并將頁面調整到屏幕的中央。添加代碼,完善《學生信息管理系統(tǒng)》主頁面的代碼設計。 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)管理模塊設計 “系統(tǒng)管理”模塊分為“添加新用戶”和“退出”兩個子模塊。 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選
34、擇添加“窗體”。并將新窗體保存為“frmuser1”。 進行代碼設計,代碼如下: 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 "確認密碼不能為空!", vbExclamation + vbOKOnly, "警告" Text1(2).SetFocus Exit Sub End If If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then MsgBox "確認密碼不正確!", 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 " 普通用戶至少要有一項權限!", 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 通過代碼設計,實現(xiàn)了對三種不同權限的新用戶的添加,管理員具有所有得權限,老師在管理員的授權下可以選擇系統(tǒng)
42、管理、課程管理與檔案管理、課程管理的一種、兩種或者全部權限,學生則只有瀏覽的功能。 4.3班級管理 在完成了系統(tǒng)的登錄頁面設計、系統(tǒng)主頁面系統(tǒng)設計后,接下來在總體設計思想的指導下完成系統(tǒng)的其余功能模塊的設計。這些子模塊作為《學生信息管理系統(tǒng)》的組成部分,在很大程度上增強了所開發(fā)系統(tǒng)的整體功能。以下主要講述班級管理這個功能模塊的具體設計和實現(xiàn)。 班級管理的主要功能是對各院系的班級的基本信息進行管理,這些信息包括年級、班級、教室、年制、專業(yè)、班主任、備注等。相應的管理操作包括:添加記錄、修改記錄、刪除記錄、查詢記錄以及打印記錄。執(zhí)行查詢,先輸入要進行操作的班級,確定后再進行對應的操作。添加操
43、作可直接添加新的班級記錄。 4.3.1添加班級模塊設計 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為“formclass1”。添加代碼并且進行屬性設置。將“Caption”改為“添加班級”,并且調整窗口大小。 “添加系統(tǒng)”模塊的界面如下圖所示: 4.3.2瀏覽班級模塊設計 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為“formclass2”。添加代碼并且進行屬性設置。將“Caption”改為“瀏覽班級”,并且調整窗口大小。 “添加系統(tǒng)”模塊的界面如下圖所示: 通過設計的瀏覽班級
44、模塊,可以根據(jù)年級,對本校的各班級信息進行總體瀏覽。并且根據(jù)需要,對班級設置進行修改,刪除,打印。 4.3.3班級查詢模塊設計 在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為“formclass3”。進行屬性設置。將“Caption”改為“班級查詢”,并且調整窗口大小。通過設計,此模塊可以通過年級、班級、專業(yè)對班級設計查詢。 “添加系統(tǒng)”模塊的界面如下圖所示: 進行代碼設計,代碼如下: 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 = "班級設置查詢結果" Formclass2.ZOrder (0) End Sub Private Sub Form_Unload(Cancel As Integer) classfind = False End Sub 必須同時輸入一個條件,否則將彈出警告對話框“你至少要輸入一個以上條件以上才能查詢
49、!”用戶可以同時設定一個、兩個或者三個條件進行查詢。 4. 4學生檔案管理 學生檔案管理是對全校學生的基本資料進行查詢、修改、添加、刪除、打印操作。執(zhí)行查詢操作時,可以根據(jù)學號、姓名、班級、姓名關鍵字進行查詢。可以對查找到的信息進行修改和刪除。添加操作可直接添加相應的學生基本情況。學生信息包括學號、姓名、性別、班級、家庭住址、出生年月、聯(lián)系電話、入學時間、備注等信息。 4.4.1檔案添加模塊設計 首先明確檔案添加的功能是添加對入學的學生進行入學檔案登記,其中包括姓名、性別、班級、聯(lián)系電話等信息。在“工程”菜單中選擇“添加窗體”,打開“添加窗體”對話框,選擇添加“窗體”。并將新窗體保存為
50、“form1”。進行屬性設置,并且編寫代碼,完成的頁面如下圖所示: 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 學號=" & Trim(Text1(0).Text) & "" Set mrc = ExecuteSQL(txtsql1) If modi = False Then If mrc.EOF = False Then sss = MsgBox("已經存在該學號的記錄,學號不能重復!", 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("應輸入日期 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("應輸入日期 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 學號=" & 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) & " ,入學時間=#" & Trim(Text1
55、(6).Text) & "# ,備注=" & Trim(Text1(7).Text) & "where 學號=" & Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1)) & "" Set mrc = ExecuteSQL(txtsql1) txtsql1 = "update cj set 學號=" & Trim(Text1(0).Text) & " where 學號=" & Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1)) & "" Set mrc = ExecuteSQL(txtsql1) tx
56、tsql1 = "update jf set 學號=" & Trim(Text1(0).Text) & " where 學號=" & 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檔案瀏覽模塊設計 類似可以進行檔案瀏覽模塊
58、設計,完成之后的設計見面如下圖所示: 其代碼如下: 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("對不起,沒有此學生的檔案記錄!", 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("確定要刪除學號為 " & Trim(Me.MSF1.TextMatrix(MSF1.Row, 1)) & " 的記錄嗎?" & Chr(10) & Chr(13) & "該操作會導致該學生成績記錄的丟失!確定嗎?", vbOKCancel + vbExclamation, "警告") = vbOK Then intcount = Me.MSF1.Row txtsql = "delete * from xj where 學號=" &
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物業(yè)管理制度:常見突發(fā)緊急事件應急處置程序和方法
- 某物業(yè)公司冬季除雪工作應急預案范文
- 物業(yè)管理制度:小區(qū)日常巡查工作規(guī)程
- 物業(yè)管理制度:設備設施故障應急預案
- 某物業(yè)公司小區(qū)地下停車場管理制度
- 某物業(yè)公司巡查、檢查工作內容、方法和要求
- 物業(yè)管理制度:安全防范十大應急處理預案
- 物業(yè)公司巡查、檢查工作內容、方法和要求
- 某物業(yè)公司保潔部門領班總結
- 某公司安全生產舉報獎勵制度
- 物業(yè)管理:火情火災應急預案
- 某物業(yè)安保崗位職責
- 物業(yè)管理制度:節(jié)前工作重點總結
- 物業(yè)管理:某小區(qū)消防演習方案
- 某物業(yè)公司客服部工作職責