版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 畢 業(yè) 論 文 (設(shè) 計(jì)) 題 目 學(xué)生學(xué)籍管理系統(tǒng)英文題目Student's student status manages system院 系 信息科學(xué)與技術(shù)學(xué)院 專 業(yè) 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù) 姓 名 高望春 年 級(jí) 指導(dǎo)教師 目 錄摘 要- 3 -ABSTRACT- 4 -第一章 系統(tǒng)需求分析- 5 -第二章 可行性分析- 6 -第三章 系統(tǒng)設(shè)計(jì)- 7 -3·1.系統(tǒng)功能分析- 7 -3·2.系統(tǒng)流程圖- 8 -第四章、數(shù)據(jù)庫設(shè)計(jì)- 9 -4·1.數(shù)據(jù)庫需求分析- 9 -4·2.數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)- 1
2、0 -4·3.數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn)- 13 -第五章、詳細(xì)設(shè)計(jì)- 16 -5·1主窗體的創(chuàng)建- 16 -5·2.用戶管理模塊的創(chuàng)建- 21 -5·3學(xué)籍管理模塊的創(chuàng)建- 28 -5·4 班級(jí)管理模塊的創(chuàng)建- 46 -5·5 課程設(shè)置模塊的創(chuàng)建- 50 -5·6 成績管理模塊的創(chuàng)建- 58 -第七章 總 結(jié)- 63 -參考文獻(xiàn)- 64 -致 謝- 65 -摘 要隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,任何一個(gè)單位要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地
3、組織起來,就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。 本文介紹了在Visual Basic6.0環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個(gè)管理信息系統(tǒng)的過程。通過分析訪客管理的不足,創(chuàng)建了一套行之有效的計(jì)算機(jī)管理學(xué)生的方案。文章介紹了訪客管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、業(yè)務(wù)流程分析等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)及代碼設(shè)計(jì);系統(tǒng)實(shí)現(xiàn)部分說明了幾個(gè)主要模塊的算法, 本系統(tǒng)面友好,操作簡單,比較實(shí)用。關(guān)鍵詞:SQL 2000 server,VB程序設(shè)計(jì),軟件工程Abstract Along with information technique
4、more and more thorough but extensive on the management of application, manage information system of the implement has been gradually mature on the technique.Manage the information system is a new academics which continuously develops, the whichever unit wants to exist to want adevelopment, high-effi
5、ciencily internal activity organically the organization get up, have to build up adapting with oneself characteristics mutually of management information system. This text introduced in the Visual Basic6.0 under the environments the strategy of adoption"from top to bottom total programming, fro
6、m bottom but last pplication development" develop a process which manage information system.Pass the shortage of analytical visitor management, established a valid a set of line a calculator a management the student's project.The article introduced visitor a management information system of
7、 system analysis part, System realization part explained a few calculate ways of main mold piece, this system interface amity, operation simple, more practical.Keyword:The SQL 2000 servers、 VB program design、software engineering第一章 系統(tǒng)需求分析伴隨社會(huì)的高速發(fā)展,全國各高校的學(xué)生數(shù)量一直在增加,在這樣的形式下,必須要求學(xué)校有一種高效有序的方法來管理學(xué)生的信息。通過調(diào)
8、查,要求系統(tǒng)需要有以下功能: 由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,要求有良好的人機(jī)界面; 由于該系統(tǒng)的使用對(duì)象多,要求有較好的權(quán)限管理; 原始數(shù)據(jù)修改簡單方便,支持多條件修 方便的數(shù)據(jù)查詢,支持多條件查詢; 在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好; 數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);第二章 可行性分析由于本系統(tǒng)管理的對(duì)象單一,都是學(xué)生,且每個(gè)數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,涉及的計(jì)算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全可以實(shí)現(xiàn)。本系統(tǒng)的設(shè)計(jì)是在Windows XP操作系統(tǒng)環(huán)境下,
9、使用Visual Basic 6.0中文版開發(fā)成功的。數(shù)據(jù)庫是MIS中的重要支持技術(shù),在MIS開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個(gè)重要的問題,本系統(tǒng)選用的數(shù)據(jù)庫語言介紹如下:Visual Basic具有以下特點(diǎn):(1)可視化編程:用傳統(tǒng)程序設(shè)計(jì)語言設(shè)計(jì)程序時(shí),都是通過編寫程序代碼來設(shè)計(jì)用戶界面,在設(shè)計(jì)過程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察。如果對(duì)界面的效果不滿意,還要回到程序中修改有時(shí)候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)效率。Visual Basic提供了可視化設(shè)計(jì)工具,把Windows界面設(shè)計(jì)的復(fù)雜性“封裝”起來,開發(fā)人員不必為界面設(shè)計(jì)而編寫大
10、量程序代碼。只需要按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬性。Visual Basic自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫實(shí)現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計(jì)的效率。(2)面向?qū)ο蟮某绦蛟O(shè)計(jì)4.0版以后的Visual Basic支持面向?qū)ο蟮某绦蛟O(shè)計(jì),是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP),把程序和數(shù)據(jù)封裝起來作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予應(yīng)有的屬性,使對(duì)象成為實(shí)在的東西。在設(shè)計(jì)對(duì)象時(shí),不必編寫建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫在界面上,Visual Basic自動(dòng)生成對(duì)象的程序代碼并封裝起來。每個(gè)對(duì)象以
11、圖形方式顯示在界面上,都是可視的。第三章 系統(tǒng)設(shè)計(jì)3·1.系統(tǒng)功能分析系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化,規(guī)范化和自動(dòng)化。 學(xué)生管理系統(tǒng)需要完成的功能主要有: 學(xué)生信息的輸入,包括輸入學(xué)生基本信息、所在班級(jí)、所學(xué)課和 成 績等。 學(xué)生信息的查詢,包括輸入學(xué)生基本信息、所在班級(jí)、已學(xué)課程和成績 等。 學(xué)生信息的修改。 班級(jí)管理信息的輸入、查詢、修改,包括輸入班級(jí)設(shè)置,年級(jí)信息等。 基本課程信息的輸入、查詢、修改。 學(xué)生成績信息的輸入、查詢、修改。 對(duì)上述各功能進(jìn)行集中、分塊、按照結(jié)構(gòu)化程序設(shè)計(jì)的要求。學(xué)生信息管理系統(tǒng)學(xué)籍管理功能班級(jí)管理功能課程管理功能成績管理功能學(xué)籍添加學(xué)籍
12、修改學(xué)籍查詢班級(jí)添加課程添加課程修改課程查詢成績添加成績修改成績查詢班級(jí)修改班級(jí)查詢圖3-1 系統(tǒng)功能模塊圖3·2.系統(tǒng)流程圖 登錄成功選擇操作開始用戶管理學(xué)籍管理班級(jí)管理課程設(shè)置成績管理退出系統(tǒng)添加修改查詢結(jié)束NY圖3-2 系統(tǒng)流程圖第四章、數(shù)據(jù)庫設(shè)計(jì)4·1.數(shù)據(jù)庫需求分析 用戶信息:包括的數(shù)據(jù)項(xiàng)有:用戶名、密碼、用戶描述。 學(xué)生基本信息:包括的數(shù)據(jù)項(xiàng)有:學(xué)生學(xué)號(hào)、學(xué)生姓名、性別、出生日期、班號(hào)、聯(lián)系電話、入校日期、家庭地址、備注等。 班級(jí)信息:包括的數(shù)據(jù)項(xiàng)有:班號(hào)、所在年級(jí)、班主任姓名、所在教室等。 課程基本信息:包括的數(shù)據(jù)項(xiàng)有:課程號(hào)、課程名稱、課程類別、課程描述等。
13、 課程設(shè)置信息:包括的數(shù)據(jù)項(xiàng)有:年級(jí)信息、所學(xué)課程等。 學(xué)生成績信息:包括的數(shù)據(jù)項(xiàng)有:考試編號(hào)、所在班號(hào)、學(xué)生學(xué)號(hào)、學(xué)生姓名、所學(xué)課程、考試分?jǐn)?shù)等。 學(xué)生管理系統(tǒng)用戶信息學(xué)生基本信息班級(jí)信息課程基本信息年級(jí)課程 成績信息 數(shù)據(jù)庫 圖4-1 學(xué)生管理系統(tǒng)數(shù)據(jù)流程圖4·2.數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)的實(shí)體有:學(xué)生實(shí)體、班級(jí)實(shí)體、年級(jí)實(shí)體、課程實(shí)體。各個(gè)實(shí)體具體的描述E-R圖如圖下所示。 學(xué)生基本信息班級(jí)成績課程圖4-2 學(xué)生實(shí)體ER圖 班級(jí)所在年級(jí)班主任所在教室班號(hào)圖4-3 班級(jí)實(shí)體ER圖 課程名稱編號(hào)描述類型 圖4-4 課程實(shí)體ER圖 年級(jí)包括班級(jí)設(shè)置課程課程圖4-5 年級(jí)實(shí)體ER圖
14、學(xué)生班級(jí)年級(jí)課程1nnnnmmnn111 圖4-6 實(shí)體之間關(guān)系ER圖 現(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為SQL Server 2000 數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。學(xué)生管理系統(tǒng)數(shù)據(jù)庫中各個(gè)表格的設(shè)計(jì)結(jié)果如下面的幾個(gè)表所示。每個(gè)表表示在數(shù)據(jù)庫中的一個(gè)數(shù)據(jù)表表4-1 student-info學(xué)生基本信息表 表4-2 class-info班級(jí)基本信息表 表4-3 course-info 課程基本信息表 表4-4 gradecourse-info年級(jí)課程設(shè)置表格 表4-5 result-info學(xué)生成績基本信息表 表4-6 user-info 系統(tǒng)用戶表 4·
15、3.數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn) 經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)。就可以在SQL Servr 2000數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)該邏輯結(jié)構(gòu),利用SQL Server 2000數(shù)據(jù)庫系統(tǒng)中SQL查詢分析器實(shí)現(xiàn)的。(1)創(chuàng)建系統(tǒng)用戶表格user_infoCREATE TABLE dbo.user_Info (user_ID char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,user_PWD char (10) COLLATE Chinese_PRC_CI_AS NULL ,user_Des char (10) COLLATE Chinese_PRC_
16、CI_AS NULL) ON PRIMARYGO(2)創(chuàng)建學(xué)生基本信息表格student_infoCREATE TABLE dbo.student_Info (student_ID int NOT NULL ,student_Name char (10) COLLATE Chinese_PRC_CI_AS NULL ,student_Sex char (2) COLLATE Chinese_PRC_CI_AS NULL ,born_Date datetime NULL ,class_NO int NULL ,tele_Number char (10) COLLATE Chinese_PRC_C
17、I_AS NULL ,ru_Date datetime NULL ,address varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,comment varchar (200) COLLATE Chinese_PRC_CI_AS NULL) ON PRIMARYGO(3)創(chuàng)建班級(jí)信息表格class-infoCREATE TABLE dbo.class_Info (class_No int NOT NULL ,grade char (10) COLLATE Chinese_PRC_CI_AS NULL ,director char (10) COLLATE
18、 Chinese_PRC_CI_AS NULL ,classroom_No char (10) COLLATE Chinese_PRC_CI_AS NULL) ON PRIMARYGO(4)創(chuàng)建課程基本信息表格course-infoCREATE TABLE dbo.course_Info (course_No int NOT NULL ,course_Name char (10) COLLATE Chinese_PRC_CI_AS NULL ,course_Type char (10) COLLATE Chinese_PRC_CI_AS NULL ,course_Des char (50) C
19、OLLATE Chinese_PRC_CI_AS NULL) ON PRIMARYGO(5)創(chuàng)建年級(jí)課程設(shè)置信息表gradecourse-infoCREATE TABLE dbo.gradecourse_Info (grade char (10) COLLATE Chinese_PRC_CI_AS NULL ,course_Name char (10) COLLATE Chinese_PRC_CI_AS NULL) ON PRIMARYGO(6)創(chuàng)建學(xué)生成績信息表result-infoCREATE TABLE dbo.result_Info (exam_No char (10) COLLATE
20、 Chinese_PRC_CI_AS NOT NULL ,student_ID int NOT NULL ,student_Name char (10) COLLATE Chinese_PRC_CI_AS NULL ,class_No int NULL ,course_Name char (10) COLLATE Chinese_PRC_CI_AS NULL ,result float NULL) ON PRIMARYGO第五章、詳細(xì)設(shè)計(jì)5·1主窗體的創(chuàng)建 上面的SQL語句在SQL Server 2000中查詢分析器執(zhí)行后,將自動(dòng)產(chǎn)生需要的所有表。有關(guān)數(shù)據(jù)庫結(jié)構(gòu)的所有后臺(tái)工作已經(jīng)完成
21、?,F(xiàn)在將通過學(xué)生管理系統(tǒng)中各個(gè)功能模塊的實(shí)現(xiàn),來編寫數(shù)據(jù)庫系統(tǒng)的客戶端程序。1. 創(chuàng)建工程項(xiàng)目Student-MIS 為了用Visual Basic創(chuàng)建應(yīng)用程序,應(yīng)當(dāng)使用工程。一個(gè)工程是用來建造應(yīng)用程序的文件的集合,它包括: 跟蹤所有部件的工程文件(.vbp)。 每個(gè)窗體的文件(.frm)。 每個(gè)窗體的二進(jìn)制數(shù)據(jù)文件(.frx),它含有窗體上控件的屬性數(shù)據(jù)。對(duì)含有二進(jìn)制屬性的任何.frm文件都是不可編輯的,這些文件都是自動(dòng)產(chǎn)生的。 每個(gè)類模塊的一個(gè)文件(.cls),該文件是可選項(xiàng)。 每個(gè)標(biāo)準(zhǔn)模塊的一個(gè)文件(.bas),該文件是可選項(xiàng)。 一個(gè)或多個(gè)包含ActiveX控件的文件(.ocx),該文件
22、是可選項(xiàng)。 單個(gè)資源文件(.res),該文件是可選項(xiàng)。 啟動(dòng)Visual Basic后,單擊File|New Project菜單,如圖所示的工程模塊中選擇Standard EXE,Visual Basic將自動(dòng)產(chǎn)生一個(gè)Form窗體,屬性都是缺省設(shè)置。這里我們刪除這個(gè)窗體,單擊File|New Project菜單,將這個(gè)工程項(xiàng)目命名為Student-MIS。 如圖5-1: 創(chuàng)建Student-MIS項(xiàng)目 2.創(chuàng)建主窗體 Visual Basic創(chuàng)建的應(yīng)用程序可以是SDI(單文檔界面)和MDI(多文檔界面)。在SDI的程序中,每個(gè)窗體之間是獨(dú)立的。而MDI的程序中,有一個(gè)窗體是主窗體,可以包含其她
23、窗體,它的類型是MDI Form。本系統(tǒng)采用多文檔界面,這樣可以使程序更加美觀,整齊有序。 單擊工具欄的“ADD MDI Form”按鈕,生成一個(gè)如下所示的窗體, 圖5-2 程序主窗體創(chuàng)建主窗體的菜單 : 圖5-3主窗體中菜單結(jié)構(gòu)3.創(chuàng)建公用模塊 在Visual Basic中可以用共用模塊來存放整個(gè)工程項(xiàng)目公用的函數(shù)、全局變量等。整個(gè)工程項(xiàng)目中的任何地方都可以調(diào)用公用模塊中的函數(shù)、變量,這樣可以極大地提高代碼的效率。在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè)Module,保存為Module.bas。下面就可以開始添加需要的代碼。 由于系統(tǒng)中各個(gè)功能模塊都將頻繁使用數(shù)據(jù)庫中的各種數(shù)據(jù),因此需要一個(gè)公共的數(shù)
24、據(jù)操作函數(shù),用以執(zhí)行各種SQL語句。添加函數(shù)ExecuteSQL,代碼如下:Public Function ExecuteSQL(ByVal SQL _As String, MsgString As String) _As ADODB.Recordset'傳遞參數(shù)SQL查詢語句,MsgString傳遞查詢信息'自身以一個(gè)數(shù)據(jù)集對(duì)象的形式返回Dim CNn As ADODB.Connection'定義連接Dim rst As ADODB.Recordset'定義字符串Dim sTokens() As String'異常處理On Error GoTo Exe
25、cuteSQL_Error'用Split函數(shù)產(chǎn)生一個(gè)包含各個(gè)子串的數(shù)組sTokens = Split(SQL)'創(chuàng)建連接Set CNn = New ADODB.ConnectionCNn.Open ConnectString'判斷字符串中是否有指定內(nèi)容If InStr("INSERT,DELETE,UPDATE", _UCase$(sTokens(0) Then'執(zhí)行查詢語句CNn.Execute SQL'返回查詢信息MsgString = sTokens(0) & _" query successful"
26、Else'創(chuàng)建數(shù)據(jù)集對(duì)象Set rst = New ADODB.Recordset'返回查詢結(jié)果rst.Open Trim$(SQL), CNn, _adOpenKeyset, _adLockOptimistic'rst.MoveLast 'get RecordCountSet ExecuteSQL = rstMsgString = "查詢到" & rst.RecordCount & _End IfExecuteSQL_Exit:'清空數(shù)據(jù)集對(duì)象Set rst = Nothing'中斷連接Set CNn = N
27、othingExit Function'錯(cuò)誤類型判斷ExecuteSQL_Error:MsgString = "查詢錯(cuò)誤: " & _Err.DescriptionResume ExecuteSQL_ExitEnd Function ExecuteSQL函數(shù)有兩了參數(shù):SQL和MsgString。其中SQL用來存放需要執(zhí)行的SQL語句,MsgString用來返回執(zhí)行的提示信息。函數(shù)執(zhí)行時(shí),首先判斷SQL語句中包含的內(nèi)容。當(dāng)執(zhí)行查詢操作時(shí),ExecuteSQL函數(shù)將返回一個(gè)與函數(shù)同名的記錄名對(duì)象(Recordset),所有滿足條件的記錄包含在對(duì)象中。當(dāng)執(zhí)行如刪
28、除、更新、添加等操作時(shí),不返回記錄集對(duì)象。 在ExecuteSQL函數(shù)中使用Connect String函數(shù),這個(gè)函數(shù)用來連接數(shù)據(jù)庫,代碼如下:Public Function ConnectString() _As String'返回一個(gè)數(shù)據(jù)庫連接ConnectString = "FileDSN=studentinfo.dsn;UID=sa;PWD="End Function由于在后面的程序中,需要頻繁檢查各種文本框的內(nèi)容是否為空,這里定義了Testtxt函數(shù),代碼如下:Public Function Testtxt(txt As String) As Boolea
29、nIf Trim(txt) = "" ThenTesttxt = FalseElseTesttxt = TrueEnd IfEnd Function 由于學(xué)生管理系統(tǒng)啟動(dòng)后,需要對(duì)用戶進(jìn)行判斷。如果登錄者是授權(quán)用戶,將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個(gè)判斷需要在系統(tǒng)運(yùn)行的最初進(jìn)行,因此將代碼放在公用模塊中,代碼如下:Public fMainForm As frmMainPublic UserName As StringSub Main()Dim fLogin As New frmLogin'顯示登陸窗體fLogin.Show vbModal'判斷是否授權(quán)用
30、戶If Not fLogin.OK ThenLogin Failed so exit appEndEnd IfUnload fLoginSet fMainForm = New frmMainfMainForm.ShowEnd Sub過程Main將在系統(tǒng)啟動(dòng)是首先執(zhí)行,這就保證對(duì)用戶的管理。5·2.用戶管理模塊的創(chuàng)建系統(tǒng)管理模塊主要實(shí)現(xiàn): 用戶登錄。 添加用戶。 修改用戶密碼。1.用戶登陸窗體的創(chuàng)建系統(tǒng)啟動(dòng)后,將首先出現(xiàn)如下所示的用戶登陸窗體,用戶首先輸入用戶名,然后輸入密碼。如果用戶3次輸入密碼不正確,將退出程序。 圖5-4用戶登錄窗體 用戶登陸窗體中放置了兩個(gè)文本框(TextBox
31、),用來輸入用戶名和用戶密碼。兩個(gè)按鈕(CommandButton)用來確定或者取消登陸。2個(gè)標(biāo)簽(Label)用來標(biāo)示窗體的信息。為窗體定義全局變量OK,用來判斷登陸是否成功。定義 miCount,用來記載輸入密碼的次數(shù)。并且在載入窗體時(shí)初始化這兩個(gè)全局變量,代碼如下:'強(qiáng)制變量聲明Option ExplicitPublic OK As Boolean'記錄確定次數(shù)Dim miCount As IntegerPrivate Sub Form_Load()Dim sBuffer As StringDim lSize As LongsBuffer = Space$(255)lSi
32、ze = Len(sBuffer)Call GetUserName(sBuffer, lSize)If lSize > 0 ThentxtUserName.Text = ""ElsetxtUserName.Text = vbNullStringEnd IfOK = FalsemiCount = 0End SubOption Explicit是用來規(guī)定所有變量使用前必須定義。這樣可以避免由于輸入錯(cuò)誤而產(chǎn)生的新變量。當(dāng)用戶輸入完用戶名和用戶密碼,單擊cmdOK按鈕將對(duì)用戶輸入信息進(jìn)行判斷。用戶單擊該按鈕,將觸發(fā)按鈕cmdOK的Click事件,代碼如下:Private Su
33、b cmdOK_Click()'用來存放SQL語句Dim txtSQL As String'用來存放記錄集對(duì)象Dim mrc As ADODB.Recordset'用來存放返回信息Dim MsgText As StringUserName = ""'判斷輸入用戶名是否為空If Trim(txtUserName.Text = "") ThenMsgBox "沒有這個(gè)用戶,請(qǐng)重新輸入用戶名!", vbOKOnly + vbExclamation, "警告"txtUserName.SetF
34、ocusElsetxtSQL = "select * from user_Info where user_ID = '" & txtUserName.Text & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = True ThenMsgBox "沒有這個(gè)用戶,請(qǐng)重新輸入用戶名!", vbOKOnly + vbExclamation, "警告"txtUserName.SetFocusElse'判斷輸入密碼是否正確If T
35、rim(mrc.Fields(1) = Trim(txtPassword.Text) ThenOK = Truemrc.CloseMe.HideUserName = Trim(txtUserName.Text)ElseMsgBox "輸入密碼不正確,請(qǐng)重新輸入!", vbOKOnly + vbExclamation, "警告"txtPassword.SetFocustxtPassword.Text = ""End IfEnd IfEnd If'記載輸入密碼次數(shù)miCount = miCount + 1If miCount =
36、3 ThenMe.HideEnd IfExit SubEnd Sub用戶如果沒有輸入用戶名和用戶密碼,將出現(xiàn)消息框給予提示。如果輸入的用戶名在用戶表格中沒有找到,將提示重新輸入用戶名,文本框txtUserName將重新獲得輸入焦點(diǎn)。如果用戶輸入的密碼不正確,文本框txtPassword將重新獲得輸入焦點(diǎn)。用戶登陸成功,全局變量OK將被賦值為True。一旦三次輸入密碼均不正確,全局變量OK將被賦值為False。公用模塊中的Main過程將根據(jù)OK的值決定是退出,或者進(jìn)入系統(tǒng)。如果用戶取消登陸,單擊“取消”按鈕,將觸發(fā)按鈕的Click事件,代碼如下:Private Sub cmdCancel_Cli
37、ck()OK = FalseMe.HideEnd Sub2.添加用戶窗體的創(chuàng)建 進(jìn)入系統(tǒng)后,選擇菜單“系統(tǒng)添加用戶”就可以添加用戶,出現(xiàn)如下所示的窗體。 圖5-5 添加用戶窗體用戶需要兩次輸入密碼,用來確保輸入密碼的正確。用戶輸入信息完畢,單擊“確定”按鈕將觸發(fā)Click事件,代碼如下:Private Sub cmdOK_Click()Dim txtSQL As StringDim mrc As ADODB.RecordsetDim MsgText As String'判斷是否為空If Trim(Text1(0).Text) = "" ThenMsgBox &quo
38、t;請(qǐng)輸入用戶名稱!", vbOKOnly + vbExclamation, "警告"Exit SubText1(0).SetFocusElsetxtSQL = "select * from user_Info "Set mrc = ExecuteSQL(txtSQL, MsgText)'判斷數(shù)據(jù)集是否為空While (mrc.EOF = False)'判斷是否有重復(fù)記錄If Trim(mrc.Fields(0) = Trim(Text1(0) ThenMsgBox "用戶已經(jīng)存在,請(qǐng)重新輸入用戶名!", v
39、bOKOnly + vbExclamation, "警告"Text1(0).SetFocusText1(0).Text = ""Text1(1).Text = ""Text1(2).Text = ""Exit SubElsemrc.MoveNextEnd IfWendEnd If'判斷兩次輸入密碼是否一致If Trim(Text1(1).Text) <> Trim(Text1(2).Text) ThenMsgBox "兩次輸入密碼不一樣,請(qǐng)確認(rèn)!", vbOKOnly + v
40、bExclamation, "警告"Text1(1).SetFocusText1(1).Text = ""Text1(2).Text = ""Exit SubElse'判斷輸入密碼是否為空If Text1(1).Text = "" ThenMsgBox "密碼不能為空!", vbOKOnly + vbExclamation, "警告"Text1(1).SetFocusText1(1).Text = ""Text1(2).Text = "&
41、quot;Elsemrc.AddNewmrc.Fields(0) = Trim(Text1(0).Text)mrc.Fields(1) = Trim(Text1(1).Text)mrc.Updatemrc.CloseMe.HideMsgBox "添加用戶成功!", vbOKOnly + vbExclamation, "添加用戶"End IfEnd IfEnd Sub 一旦輸入完畢,系統(tǒng)將首先查詢數(shù)據(jù)庫中與新建用戶名相同的記錄,如果有相同記錄將提示用戶重新輸入用戶名。當(dāng)確定數(shù)據(jù)庫中沒有相同的用戶名,并且兩次輸入密碼一致時(shí),將把該條記錄加到數(shù)據(jù)庫中。單擊“取
42、消”按鈕將取消添加用戶操作,代碼如下:Private Sub cmdCancel_Click()Unload MeEnd Sub3.修改用戶密碼窗體的創(chuàng)建用戶可以修改自己的密碼,選擇菜單“系統(tǒng)修改密碼”,出現(xiàn)如下所示的窗體。 圖5-6 修改密碼窗體在這兩個(gè)窗體中放置了兩個(gè)文本框,用來輸入密碼和確認(rèn)密碼。兩了按鈕用來確定是否修改密碼。兩個(gè)標(biāo)簽用來標(biāo)示文本框的內(nèi)容。兩次輸入密碼后,單擊“確認(rèn)”按鈕,將觸發(fā)Click事件判斷是否修改密碼,代碼如下:Private Sub cmdOK_Click()Dim txtSQL, MsgText As StringDim mrc As ADODB.Record
43、set'判斷是否為空If Trim(Text1(1).Text) <> Trim(Text1(2).Text) ThenMsgBox "密碼輸入不正確!", vbOKOnly + vbExclamation, "警告"Text1(1).SetFocusText1(1).Text = ""ElsetxtSQL = "select * from user_Info where user_ID = '" & UserName & "'"Set mrc
44、 = ExecuteSQL(txtSQL, MsgText)mrc.Fields(1) = Text1(1).Textmrc.Updatemrc.CloseMsgBox "密碼修改成功!", vbOKOnly + vbExclamation, "修改密碼"Me.HideEnd IfEnd Sub當(dāng)兩次輸入密碼一致時(shí),數(shù)據(jù)庫中的記錄將更新。5·3學(xué)籍管理模塊的創(chuàng)建學(xué)籍信息管理模塊主要實(shí)現(xiàn)如下功能: 添加學(xué)籍信息 修改學(xué)籍信息 查詢學(xué)籍信息1.添加學(xué)籍信息窗體的創(chuàng)建 選擇“學(xué)籍管理|添加學(xué)籍信息”菜單,將出現(xiàn)如下的窗體; 圖5-7 添加學(xué)籍信息窗體
45、 在窗體上放置多個(gè)文本框和下拉式文本框,用來輸入學(xué)籍信息。兩個(gè)按鈕用來確定是否添加學(xué)籍信息。多個(gè)標(biāo)簽用來提示文本框中需要輸入的內(nèi)容。 在載入窗體時(shí),程序?qū)⒆詣?dòng)在兩個(gè)下拉式文本框中添加內(nèi)容,這樣可以規(guī)范化輸入內(nèi)容,代碼如下:Private Sub Form_Load()Dim mrc As ADODB.RecordsetDim txtSQL As StringDim MsgText As StringDim i As Integer'添加列表框內(nèi)容comboSex.AddItem "男"comboSex.AddItem "女"txtSQL = &q
46、uot;select * from class_Info "Set mrc = ExecuteSQL(txtSQL, MsgText)'添加內(nèi)容到列表框中For i = 1 To mrc.RecordCountcomboClassNo.AddItem mrc.Fields(0)mrc.MoveNextNext imrc.CloseEnd Sub在班號(hào)選擇的下拉式文本框中,將出現(xiàn)所有班級(jí),用戶不用輸入內(nèi)容。用戶輸入內(nèi)容完畢后,單擊按鈕cmdOK將觸發(fā)Click事件,代碼如下:Private Sub cmdOK_Click()'定義數(shù)據(jù)集對(duì)象Dim mrc As ADOD
47、B.Recordset'定義字符串變量,表示查詢語句Dim txtSQL As String'定義字符串變量,返回查詢信息Dim MsgText As String'判斷是否輸入學(xué)號(hào)If Not Testtxt(txtSID.Text) ThenMsgBox "請(qǐng)輸入學(xué)號(hào)!", vbOKOnly + vbExclamation, "警告"txtSID.SetFocusExit SubEnd If'判斷是否輸入姓名If Not Testtxt(txtName.Text) ThenMsgBox "請(qǐng)輸入姓名!&quo
48、t;, vbOKOnly + vbExclamation, "警告"txtName.SetFocusExit SubEnd If'判斷是否選擇性別If Not Testtxt(comboSex.Text) ThenMsgBox "請(qǐng)選擇性別!", vbOKOnly + vbExclamation, "警告"comboSex.SetFocusExit SubEnd If'判斷是否輸入出生日期If Not Testtxt(txtBorndate.Text) ThenMsgBox "請(qǐng)輸入出生日期!",
49、vbOKOnly + vbExclamation, "警告"txtBorndate.SetFocusExit SubEnd If'判斷是否輸入班號(hào)If Not Testtxt(comboClassNo.Text) ThenMsgBox "請(qǐng)選擇班號(hào)!", vbOKOnly + vbExclamation, "警告"comboClassNo.SetFocusExit SubEnd If'判斷是否輸入聯(lián)系電話If Not Testtxt(txtTel.Text) ThenMsgBox "請(qǐng)輸入聯(lián)系電話!"
50、;, vbOKOnly + vbExclamation, "警告"txtTel.SetFocusExit SubEnd If'判斷是否輸入入校日期If Not Testtxt(txtRudate.Text) ThenMsgBox "請(qǐng)輸入入校日期!", vbOKOnly + vbExclamation, "警告"txtRudate.SetFocusExit SubEnd If'判斷是否輸入家庭地址If Not Testtxt(txtAddress.Text) ThenMsgBox "請(qǐng)輸入家庭住址!"
51、;, vbOKOnly + vbExclamation, "警告"txtAddress.SetFocusExit SubEnd If'判斷輸入學(xué)號(hào)是否為數(shù)字If Not IsNumeric(Trim(txtSID.Text) ThenMsgBox "請(qǐng)輸入數(shù)字!", vbOKOnly + vbExclamation, "警告"Exit SubtxtSID.SetFocusEnd If'判斷是否有重復(fù)記錄txtSQL = "select * from student_Info where student_ID
52、= '" & Trim(txtSID.Text) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = False ThenMsgBox "學(xué)號(hào)重復(fù),請(qǐng)重新輸入!", vbOKOnly + vbExclamation, "警告"mrc.ClosetxtSID.SetFocusElsemrc.CloseIf Not IsDate(txtBorndate.Text) ThenMsgBox "出生時(shí)間應(yīng)輸入日期格式(yyyy-mm-d
53、d)!", vbOKOnly + vbExclamation, "警告"txtBorndate.SetFocusElsetxtBorndate = Format(txtBorndate, "yyyy-mm-dd")If Not IsDate(txtRudate.Text) ThenMsgBox "入校時(shí)間應(yīng)輸入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"txtRudate.SetFocusElsetxtRudate = Format(txtRudat
54、e, "yyyy-mm-dd")txtSQL = "select * from student_Info"Set mrc = ExecuteSQL(txtSQL, MsgText)'添加記錄mrc.AddNew'給每個(gè)字段賦值mrc.Fields(0) = Trim(txtSID.Text)mrc.Fields(1) = Trim(txtName.Text)mrc.Fields(2) = Trim(comboSex.Text)mrc.Fields(3) = Trim(txtBorndate.Text)mrc.Fields(4) = Tri
55、m(comboClassNo.Text)mrc.Fields(5) = Trim(txtTel.Text)mrc.Fields(6) = Trim(txtRudate.Text)mrc.Fields(7) = Trim(txtAddress.Text)mrc.Fields(8) = Trim(txtComment.Text)mrc.UpdateMsgBox "添加學(xué)籍信息成功!", vbOKOnly + vbExclamation, "警告"mrc.CloseMe.HideEnd IfEnd IfEnd If 程序首先對(duì)是否輸入內(nèi)容進(jìn)行判斷,然后進(jìn)行格式
56、判斷,使用了下面兩個(gè)函數(shù) :IsDate(txtBorndate.Text) IsDate(txtRudate.Text)。 判斷是否有重復(fù)記錄是很重要的,否則數(shù)據(jù)庫中將發(fā)生錯(cuò)誤。 單擊按鈕cmdCancel取消添加學(xué)籍信息,代碼如下:Private Sub Command2_Click()'卸載窗體Unload MeEnd Sub 2.修改學(xué)籍信息窗體的創(chuàng)建 選擇“學(xué)籍管理|修改學(xué)籍信息”菜單,將出現(xiàn)如下所示的窗體。 圖5-8 修改學(xué)籍信息窗體 第一排按鈕用來方便地瀏覽數(shù)據(jù)庫中各條記錄,第二排按鈕用來修改記錄。由于記錄集為整個(gè)窗體公用,需要將記錄集對(duì)象定義為全局變量,代碼如下:'定義數(shù)據(jù)集對(duì)象Dim mrc As ADODB.Recordset'定義書簽,用來記載當(dāng)前記錄位置Dim myBookmark As Variant'判斷是否修改記錄Dim mcclean As Boolean程序在窗
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版玩具寄售合作合同模板協(xié)議書3篇
- 隆陽區(qū)貨車站施工方案
- 森林監(jiān)測實(shí)施方案
- 2025版物業(yè)托管及社區(qū)公共設(shè)施維修服務(wù)合同3篇
- 二零二五個(gè)人公積金貸款合同范本詳解版3篇
- 二零二五版水陸聯(lián)運(yùn)貨物運(yùn)輸時(shí)效保證合同范本2篇
- 二零二五版水利工程施工廉政監(jiān)督與評(píng)估協(xié)議3篇
- 老舊社區(qū)電梯改造方案
- 二零二五年度個(gè)人信用高額度借款合同貸款額度動(dòng)態(tài)調(diào)整2篇
- 七年級(jí)數(shù)學(xué)新北師大版(2024)下冊第一章《整式的乘除》單元檢測習(xí)題(含簡單答案)
- 2024-2025學(xué)年云南省昆明市盤龍區(qū)高一(上)期末數(shù)學(xué)試卷(含答案)
- 五年級(jí)上冊寒假作業(yè)答案(人教版)
- 2025年山東浪潮集團(tuán)限公司招聘25人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年財(cái)政部會(huì)計(jì)法律法規(guī)答題活動(dòng)題目及答案一
- 2025年江西省港口集團(tuán)招聘筆試參考題庫含答案解析
- 2025年中考語文復(fù)習(xí)熱搜題速遞之說明文閱讀(2024年7月)
- (2024年)中國傳統(tǒng)文化介紹課件
- 綜治工作培訓(xùn)課件
- 液化氣安全檢查及整改方案
- 《冠心病》課件(完整版)
評(píng)論
0/150
提交評(píng)論