




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 畢 業(yè) 論 文 (設(shè) 計) 題 目 學(xué)生學(xué)籍管理系統(tǒng)英文題目Student's student status manages system院 系 信息科學(xué)與技術(shù)學(xué)院 專 業(yè) 計算機(jī)網(wǎng)絡(luò)技術(shù) 姓 名 高望春 年 級 指導(dǎo)教師 目 錄摘 要- 3 -ABSTRACT- 4 -第一章 系統(tǒng)需求分析- 5 -第二章 可行性分析- 6 -第三章 系統(tǒng)設(shè)計- 7 -3·1.系統(tǒng)功能分析- 7 -3·2.系統(tǒng)流程圖- 8 -第四章、數(shù)據(jù)庫設(shè)計- 9 -4·1.數(shù)據(jù)庫需求分析- 9 -4·2.數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計- 1
2、0 -4·3.數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn)- 13 -第五章、詳細(xì)設(shè)計- 16 -5·1主窗體的創(chuàng)建- 16 -5·2.用戶管理模塊的創(chuàng)建- 21 -5·3學(xué)籍管理模塊的創(chuàng)建- 28 -5·4 班級管理模塊的創(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ù)上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學(xué)科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機(jī)地
3、組織起來,就必須建立與自身特點相適應(yīng)的管理信息系統(tǒng)。 本文介紹了在Visual Basic6.0環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個管理信息系統(tǒng)的過程。通過分析訪客管理的不足,創(chuàng)建了一套行之有效的計算機(jī)管理學(xué)生的方案。文章介紹了訪客管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、業(yè)務(wù)流程分析等;系統(tǒng)設(shè)計部分主要介紹了系統(tǒng)功能設(shè)計和數(shù)據(jù)庫設(shè)計及代碼設(shè)計;系統(tǒng)實現(xiàn)部分說明了幾個主要模塊的算法, 本系統(tǒng)面友好,操作簡單,比較實用。關(guān)鍵詞:SQL 2000 server,VB程序設(shè)計,軟件工程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)需求分析伴隨社會的高速發(fā)展,全國各高校的學(xué)生數(shù)量一直在增加,在這樣的形式下,必須要求學(xué)校有一種高效有序的方法來管理學(xué)生的信息。通過調(diào)
8、查,要求系統(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ù);第二章 可行性分析由于本系統(tǒng)管理的對象單一,都是學(xué)生,且每個數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,涉及的計算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全可以實現(xiàn)。本系統(tǒng)的設(shè)計是在Windows XP操作系統(tǒng)環(huán)境下,
9、使用Visual Basic 6.0中文版開發(fā)成功的。數(shù)據(jù)庫是MIS中的重要支持技術(shù),在MIS開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個重要的問題,本系統(tǒng)選用的數(shù)據(jù)庫語言介紹如下:Visual Basic具有以下特點:(1)可視化編程:用傳統(tǒng)程序設(shè)計語言設(shè)計程序時,都是通過編寫程序代碼來設(shè)計用戶界面,在設(shè)計過程中看不到界面的實際顯示效果,必須編譯后運(yùn)行程序才能觀察。如果對界面的效果不滿意,還要回到程序中修改有時候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)效率。Visual Basic提供了可視化設(shè)計工具,把Windows界面設(shè)計的復(fù)雜性“封裝”起來,開發(fā)人員不必為界面設(shè)計而編寫大
10、量程序代碼。只需要按設(shè)計要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設(shè)置這些圖形對象的屬性。Visual Basic自動產(chǎn)生界面設(shè)計代碼,程序設(shè)計人員只需要編寫實現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計的效率。(2)面向?qū)ο蟮某绦蛟O(shè)計4.0版以后的Visual Basic支持面向?qū)ο蟮某绦蛟O(shè)計,是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計方法(OOP),把程序和數(shù)據(jù)封裝起來作為一個對象,并為每個對象賦予應(yīng)有的屬性,使對象成為實在的東西。在設(shè)計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,Visual Basic自動生成對象的程序代碼并封裝起來。每個對象以
11、圖形方式顯示在界面上,都是可視的。第三章 系統(tǒng)設(shè)計3·1.系統(tǒng)功能分析系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化,規(guī)范化和自動化。 學(xué)生管理系統(tǒng)需要完成的功能主要有: 學(xué)生信息的輸入,包括輸入學(xué)生基本信息、所在班級、所學(xué)課和 成 績等。 學(xué)生信息的查詢,包括輸入學(xué)生基本信息、所在班級、已學(xué)課程和成績 等。 學(xué)生信息的修改。 班級管理信息的輸入、查詢、修改,包括輸入班級設(shè)置,年級信息等。 基本課程信息的輸入、查詢、修改。 學(xué)生成績信息的輸入、查詢、修改。 對上述各功能進(jìn)行集中、分塊、按照結(jié)構(gòu)化程序設(shè)計的要求。學(xué)生信息管理系統(tǒng)學(xué)籍管理功能班級管理功能課程管理功能成績管理功能學(xué)籍添加學(xué)籍
12、修改學(xué)籍查詢班級添加課程添加課程修改課程查詢成績添加成績修改成績查詢班級修改班級查詢圖3-1 系統(tǒng)功能模塊圖3·2.系統(tǒng)流程圖 登錄成功選擇操作開始用戶管理學(xué)籍管理班級管理課程設(shè)置成績管理退出系統(tǒng)添加修改查詢結(jié)束NY圖3-2 系統(tǒng)流程圖第四章、數(shù)據(jù)庫設(shè)計4·1.數(shù)據(jù)庫需求分析 用戶信息:包括的數(shù)據(jù)項有:用戶名、密碼、用戶描述。 學(xué)生基本信息:包括的數(shù)據(jù)項有:學(xué)生學(xué)號、學(xué)生姓名、性別、出生日期、班號、聯(lián)系電話、入校日期、家庭地址、備注等。 班級信息:包括的數(shù)據(jù)項有:班號、所在年級、班主任姓名、所在教室等。 課程基本信息:包括的數(shù)據(jù)項有:課程號、課程名稱、課程類別、課程描述等。
13、 課程設(shè)置信息:包括的數(shù)據(jù)項有:年級信息、所學(xué)課程等。 學(xué)生成績信息:包括的數(shù)據(jù)項有:考試編號、所在班號、學(xué)生學(xué)號、學(xué)生姓名、所學(xué)課程、考試分?jǐn)?shù)等。 學(xué)生管理系統(tǒng)用戶信息學(xué)生基本信息班級信息課程基本信息年級課程 成績信息 數(shù)據(jù)庫 圖4-1 學(xué)生管理系統(tǒng)數(shù)據(jù)流程圖4·2.數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 本系統(tǒng)的實體有:學(xué)生實體、班級實體、年級實體、課程實體。各個實體具體的描述E-R圖如圖下所示。 學(xué)生基本信息班級成績課程圖4-2 學(xué)生實體ER圖 班級所在年級班主任所在教室班號圖4-3 班級實體ER圖 課程名稱編號描述類型 圖4-4 課程實體ER圖 年級包括班級設(shè)置課程課程圖4-5 年級實體ER圖
14、學(xué)生班級年級課程1nnnnmmnn111 圖4-6 實體之間關(guān)系ER圖 現(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為SQL Server 2000 數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。學(xué)生管理系統(tǒng)數(shù)據(jù)庫中各個表格的設(shè)計結(jié)果如下面的幾個表所示。每個表表示在數(shù)據(jù)庫中的一個數(shù)據(jù)表表4-1 student-info學(xué)生基本信息表 表4-2 class-info班級基本信息表 表4-3 course-info 課程基本信息表 表4-4 gradecourse-info年級課程設(shè)置表格 表4-5 result-info學(xué)生成績基本信息表 表4-6 user-info 系統(tǒng)用戶表 4·
15、3.數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn) 經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計以后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)。就可以在SQL Servr 2000數(shù)據(jù)庫系統(tǒng)中實現(xiàn)該邏輯結(jié)構(gòu),利用SQL Server 2000數(shù)據(jù)庫系統(tǒng)中SQL查詢分析器實現(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)建班級信息表格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)建年級課程設(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è)計5·1主窗體的創(chuàng)建 上面的SQL語句在SQL Server 2000中查詢分析器執(zhí)行后,將自動產(chǎn)生需要的所有表。有關(guān)數(shù)據(jù)庫結(jié)構(gòu)的所有后臺工作已經(jīng)完成
21、?,F(xiàn)在將通過學(xué)生管理系統(tǒng)中各個功能模塊的實現(xiàn),來編寫數(shù)據(jù)庫系統(tǒng)的客戶端程序。1. 創(chuàng)建工程項目Student-MIS 為了用Visual Basic創(chuàng)建應(yīng)用程序,應(yīng)當(dāng)使用工程。一個工程是用來建造應(yīng)用程序的文件的集合,它包括: 跟蹤所有部件的工程文件(.vbp)。 每個窗體的文件(.frm)。 每個窗體的二進(jìn)制數(shù)據(jù)文件(.frx),它含有窗體上控件的屬性數(shù)據(jù)。對含有二進(jìn)制屬性的任何.frm文件都是不可編輯的,這些文件都是自動產(chǎn)生的。 每個類模塊的一個文件(.cls),該文件是可選項。 每個標(biāo)準(zhǔn)模塊的一個文件(.bas),該文件是可選項。 一個或多個包含ActiveX控件的文件(.ocx),該文件
22、是可選項。 單個資源文件(.res),該文件是可選項。 啟動Visual Basic后,單擊File|New Project菜單,如圖所示的工程模塊中選擇Standard EXE,Visual Basic將自動產(chǎn)生一個Form窗體,屬性都是缺省設(shè)置。這里我們刪除這個窗體,單擊File|New Project菜單,將這個工程項目命名為Student-MIS。 如圖5-1: 創(chuàng)建Student-MIS項目 2.創(chuàng)建主窗體 Visual Basic創(chuàng)建的應(yīng)用程序可以是SDI(單文檔界面)和MDI(多文檔界面)。在SDI的程序中,每個窗體之間是獨(dú)立的。而MDI的程序中,有一個窗體是主窗體,可以包含其她
23、窗體,它的類型是MDI Form。本系統(tǒng)采用多文檔界面,這樣可以使程序更加美觀,整齊有序。 單擊工具欄的“ADD MDI Form”按鈕,生成一個如下所示的窗體, 圖5-2 程序主窗體創(chuàng)建主窗體的菜單 : 圖5-3主窗體中菜單結(jié)構(gòu)3.創(chuàng)建公用模塊 在Visual Basic中可以用共用模塊來存放整個工程項目公用的函數(shù)、全局變量等。整個工程項目中的任何地方都可以調(diào)用公用模塊中的函數(shù)、變量,這樣可以極大地提高代碼的效率。在項目資源管理器中為項目添加一個Module,保存為Module.bas。下面就可以開始添加需要的代碼。 由于系統(tǒng)中各個功能模塊都將頻繁使用數(shù)據(jù)庫中的各種數(shù)據(jù),因此需要一個公共的數(shù)
24、據(jù)操作函數(shù),用以執(zhí)行各種SQL語句。添加函數(shù)ExecuteSQL,代碼如下:Public Function ExecuteSQL(ByVal SQL _As String, MsgString As String) _As ADODB.Recordset'傳遞參數(shù)SQL查詢語句,MsgString傳遞查詢信息'自身以一個數(shù)據(jù)集對象的形式返回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)生一個包含各個子串的數(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ù)集對象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ù)集對象Set rst = Nothing'中斷連接Set CNn = N
27、othingExit Function'錯誤類型判斷ExecuteSQL_Error:MsgString = "查詢錯誤: " & _Err.DescriptionResume ExecuteSQL_ExitEnd Function ExecuteSQL函數(shù)有兩了參數(shù):SQL和MsgString。其中SQL用來存放需要執(zhí)行的SQL語句,MsgString用來返回執(zhí)行的提示信息。函數(shù)執(zhí)行時,首先判斷SQL語句中包含的內(nèi)容。當(dāng)執(zhí)行查詢操作時,ExecuteSQL函數(shù)將返回一個與函數(shù)同名的記錄名對象(Recordset),所有滿足條件的記錄包含在對象中。當(dāng)執(zhí)行如刪
28、除、更新、添加等操作時,不返回記錄集對象。 在ExecuteSQL函數(shù)中使用Connect String函數(shù),這個函數(shù)用來連接數(shù)據(jù)庫,代碼如下:Public Function ConnectString() _As String'返回一個數(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)啟動后,需要對用戶進(jìn)行判斷。如果登錄者是授權(quán)用戶,將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個判斷需要在系統(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)啟動是首先執(zhí)行,這就保證對用戶的管理。5·2.用戶管理模塊的創(chuàng)建系統(tǒng)管理模塊主要實現(xiàn): 用戶登錄。 添加用戶。 修改用戶密碼。1.用戶登陸窗體的創(chuàng)建系統(tǒng)啟動后,將首先出現(xiàn)如下所示的用戶登陸窗體,用戶首先輸入用戶名,然后輸入密碼。如果用戶3次輸入密碼不正確,將退出程序。 圖5-4用戶登錄窗體 用戶登陸窗體中放置了兩個文本框(TextBox
31、),用來輸入用戶名和用戶密碼。兩個按鈕(CommandButton)用來確定或者取消登陸。2個標(biāo)簽(Label)用來標(biāo)示窗體的信息。為窗體定義全局變量OK,用來判斷登陸是否成功。定義 miCount,用來記載輸入密碼的次數(shù)。并且在載入窗體時初始化這兩個全局變量,代碼如下:'強(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ī)定所有變量使用前必須定義。這樣可以避免由于輸入錯誤而產(chǎn)生的新變量。當(dāng)用戶輸入完用戶名和用戶密碼,單擊cmdOK按鈕將對用戶輸入信息進(jìn)行判斷。用戶單擊該按鈕,將觸發(fā)按鈕cmdOK的Click事件,代碼如下:Private Su
33、b cmdOK_Click()'用來存放SQL語句Dim txtSQL As String'用來存放記錄集對象Dim mrc As ADODB.Recordset'用來存放返回信息Dim MsgText As StringUserName = ""'判斷輸入用戶名是否為空If Trim(txtUserName.Text = "") ThenMsgBox "沒有這個用戶,請重新輸入用戶名!", 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 "沒有這個用戶,請重新輸入用戶名!", vbOKOnly + vbExclamation, "警告"txtUserName.SetFocusElse'判斷輸入密碼是否正確If T
35、rim(mrc.Fields(1) = Trim(txtPassword.Text) ThenOK = Truemrc.CloseMe.HideUserName = Trim(txtUserName.Text)ElseMsgBox "輸入密碼不正確,請重新輸入!", vbOKOnly + vbExclamation, "警告"txtPassword.SetFocustxtPassword.Text = ""End IfEnd IfEnd If'記載輸入密碼次數(shù)miCount = miCount + 1If miCount =
36、3 ThenMe.HideEnd IfExit SubEnd Sub用戶如果沒有輸入用戶名和用戶密碼,將出現(xiàn)消息框給予提示。如果輸入的用戶名在用戶表格中沒有找到,將提示重新輸入用戶名,文本框txtUserName將重新獲得輸入焦點。如果用戶輸入的密碼不正確,文本框txtPassword將重新獲得輸入焦點。用戶登陸成功,全局變量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;請輸入用戶名稱!", 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)存在,請重新輸入用戶名!", 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 "兩次輸入密碼不一樣,請確認(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ù)據(jù)庫中。單擊“取
42、消”按鈕將取消添加用戶操作,代碼如下:Private Sub cmdCancel_Click()Unload MeEnd Sub3.修改用戶密碼窗體的創(chuàng)建用戶可以修改自己的密碼,選擇菜單“系統(tǒng)修改密碼”,出現(xiàn)如下所示的窗體。 圖5-6 修改密碼窗體在這兩個窗體中放置了兩個文本框,用來輸入密碼和確認(rèn)密碼。兩了按鈕用來確定是否修改密碼。兩個標(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ù)據(jù)庫中的記錄將更新。5·3學(xué)籍管理模塊的創(chuàng)建學(xué)籍信息管理模塊主要實現(xiàn)如下功能: 添加學(xué)籍信息 修改學(xué)籍信息 查詢學(xué)籍信息1.添加學(xué)籍信息窗體的創(chuàng)建 選擇“學(xué)籍管理|添加學(xué)籍信息”菜單,將出現(xiàn)如下的窗體; 圖5-7 添加學(xué)籍信息窗體
45、 在窗體上放置多個文本框和下拉式文本框,用來輸入學(xué)籍信息。兩個按鈕用來確定是否添加學(xué)籍信息。多個標(biāo)簽用來提示文本框中需要輸入的內(nèi)容。 在載入窗體時,程序?qū)⒆詣釉趦蓚€下拉式文本框中添加內(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在班號選擇的下拉式文本框中,將出現(xiàn)所有班級,用戶不用輸入內(nèi)容。用戶輸入內(nèi)容完畢后,單擊按鈕cmdOK將觸發(fā)Click事件,代碼如下:Private Sub cmdOK_Click()'定義數(shù)據(jù)集對象Dim mrc As ADOD
47、B.Recordset'定義字符串變量,表示查詢語句Dim txtSQL As String'定義字符串變量,返回查詢信息Dim MsgText As String'判斷是否輸入學(xué)號If Not Testtxt(txtSID.Text) ThenMsgBox "請輸入學(xué)號!", vbOKOnly + vbExclamation, "警告"txtSID.SetFocusExit SubEnd If'判斷是否輸入姓名If Not Testtxt(txtName.Text) ThenMsgBox "請輸入姓名!&quo
48、t;, vbOKOnly + vbExclamation, "警告"txtName.SetFocusExit SubEnd If'判斷是否選擇性別If Not Testtxt(comboSex.Text) ThenMsgBox "請選擇性別!", vbOKOnly + vbExclamation, "警告"comboSex.SetFocusExit SubEnd If'判斷是否輸入出生日期If Not Testtxt(txtBorndate.Text) ThenMsgBox "請輸入出生日期!",
49、vbOKOnly + vbExclamation, "警告"txtBorndate.SetFocusExit SubEnd If'判斷是否輸入班號If Not Testtxt(comboClassNo.Text) ThenMsgBox "請選擇班號!", vbOKOnly + vbExclamation, "警告"comboClassNo.SetFocusExit SubEnd If'判斷是否輸入聯(lián)系電話If Not Testtxt(txtTel.Text) ThenMsgBox "請輸入聯(lián)系電話!"
50、;, vbOKOnly + vbExclamation, "警告"txtTel.SetFocusExit SubEnd If'判斷是否輸入入校日期If Not Testtxt(txtRudate.Text) ThenMsgBox "請輸入入校日期!", vbOKOnly + vbExclamation, "警告"txtRudate.SetFocusExit SubEnd If'判斷是否輸入家庭地址If Not Testtxt(txtAddress.Text) ThenMsgBox "請輸入家庭住址!"
51、;, vbOKOnly + vbExclamation, "警告"txtAddress.SetFocusExit SubEnd If'判斷輸入學(xué)號是否為數(shù)字If Not IsNumeric(Trim(txtSID.Text) ThenMsgBox "請輸入數(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é)號重復(fù),請重新輸入!", vbOKOnly + vbExclamation, "警告"mrc.ClosetxtSID.SetFocusElsemrc.CloseIf Not IsDate(txtBorndate.Text) ThenMsgBox "出生時間應(yīng)輸入日期格式(yyyy-mm-d
53、d)!", vbOKOnly + vbExclamation, "警告"txtBorndate.SetFocusElsetxtBorndate = Format(txtBorndate, "yyyy-mm-dd")If Not IsDate(txtRudate.Text) ThenMsgBox "入校時間應(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'給每個字段賦值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 程序首先對是否輸入內(nèi)容進(jìn)行判斷,然后進(jìn)行格式
56、判斷,使用了下面兩個函數(shù) :IsDate(txtBorndate.Text) IsDate(txtRudate.Text)。 判斷是否有重復(fù)記錄是很重要的,否則數(shù)據(jù)庫中將發(fā)生錯誤。 單擊按鈕cmdCancel取消添加學(xué)籍信息,代碼如下:Private Sub Command2_Click()'卸載窗體Unload MeEnd Sub 2.修改學(xué)籍信息窗體的創(chuàng)建 選擇“學(xué)籍管理|修改學(xué)籍信息”菜單,將出現(xiàn)如下所示的窗體。 圖5-8 修改學(xué)籍信息窗體 第一排按鈕用來方便地瀏覽數(shù)據(jù)庫中各條記錄,第二排按鈕用來修改記錄。由于記錄集為整個窗體公用,需要將記錄集對象定義為全局變量,代碼如下:'定義數(shù)據(jù)集對象Dim mrc As ADODB.Recordset'定義書簽,用來記載當(dāng)前記錄位置Dim myBookmark As Variant'判斷是否修改記錄Dim mcclean As Boolean程序在窗
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西農(nóng)業(yè)大學(xué)南昌商學(xué)院《電視欄目創(chuàng)意與策劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 公共交通行業(yè)服務(wù)質(zhì)量評價制度
- 公共交通車輛維修質(zhì)量管理制度
- 工作責(zé)任追究制度
- 新疆魚類制品種類及食用情況調(diào)查問卷
- 關(guān)于聯(lián)耕聯(lián)種生產(chǎn)方式推行的民意調(diào)查
- 農(nóng)村暗室改造方案范本
- 2025年農(nóng)林牧漁行業(yè)現(xiàn)狀分析:國家對農(nóng)林牧漁行業(yè)政策支持力度不斷加大
- 無機(jī)墻體保溫施工方案
- 廣東省深圳實驗學(xué)校高中園2024-2025學(xué)年高二上學(xué)期第三階段考試數(shù)學(xué)試題(解析版)
- 農(nóng)民田間學(xué)校規(guī)章制度
- 《電力建設(shè)施工技術(shù)規(guī)范 第2部分:鍋爐機(jī)組》DLT 5190.2
- 供水管網(wǎng)搶修管理課件
- 微信公眾號總結(jié)報告
- 制定售后服務(wù)績效考評標(biāo)準(zhǔn)與方法
- 正確認(rèn)識人的本質(zhì) (修改版)
- 2023年北京師范大學(xué)珠海分校招聘考試真題
- 2016-2023年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年考點試題甄選合集含答案解析
- 高原健康呼吸用氧 通用技術(shù)指南
- 中醫(yī)內(nèi)科學(xué)-咳嗽課件
- 2022管理學(xué)試題庫(馬工程)
評論
0/150
提交評論