[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第1頁(yè)
[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第2頁(yè)
[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第3頁(yè)
[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第4頁(yè)
[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)課程定做 Q1摘 要21.2前 言21.3開(kāi)發(fā)學(xué)生信息管理系統(tǒng)相關(guān)問(wèn)題21.3.1學(xué)生信息管理系統(tǒng)的簡(jiǎn)介21.4系統(tǒng)的實(shí)現(xiàn)以及相關(guān)問(wèn)題21.4.1Visual Basic 6.0總概括21.4.2實(shí)施環(huán)境與工具的比較選擇31.4.3編程環(huán)境、工具、實(shí)現(xiàn)與數(shù)據(jù)準(zhǔn)備概況31.4.4學(xué)校管理者對(duì)學(xué)生信息管理系統(tǒng)的需求31.5學(xué)生信息管理系統(tǒng)功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)的設(shè)計(jì)和功能實(shí)現(xiàn)41.5.1學(xué)生信息管理系統(tǒng)的功能模塊設(shè)計(jì)41.5.2數(shù)據(jù)庫(kù)設(shè)計(jì)41.6學(xué)生信息管理系統(tǒng)的具體實(shí)現(xiàn)81.6.1學(xué)生信息管理系統(tǒng)主窗體的創(chuàng)建81.6.2系統(tǒng)用戶(hù)管理模塊111.6.3學(xué)籍管理模塊的創(chuàng)建121.6.4班級(jí)管理模塊的創(chuàng)建141.6.5課程設(shè)置模塊的創(chuàng)建151.6.6成績(jī)管理模塊的創(chuàng)建171.6.7幫助模塊的設(shè)計(jì)171.7系統(tǒng)測(cè)試概況171.7.1系統(tǒng)轉(zhuǎn)換方案及實(shí)現(xiàn)概況171.7.2軟硬件平臺(tái)171.8結(jié)束語(yǔ)171.9致 謝171.10參 考 文 獻(xiàn)171.11附程序代碼清單171.1 摘 要信息管理系統(tǒng)就是我們常說(shuō)的MIS(Management Information System),它是一個(gè)計(jì)算機(jī)軟硬件資源以及數(shù)據(jù)庫(kù)的人-機(jī)系統(tǒng)。它能提供信息支持企業(yè)或組織的運(yùn)行、管理和決策功能。學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起資料一致性和完整性強(qiáng)、資料安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。 經(jīng)過(guò)分析如此情況,我們使用Microsoft公司的Visual Basic 6.0開(kāi)發(fā)工具,由于它給我們提供了用于從數(shù)據(jù)庫(kù)中訪問(wèn)數(shù)據(jù)的強(qiáng)大工具集,使用它可以建立開(kāi)發(fā)比較完善的數(shù)據(jù)庫(kù)操作應(yīng)用程序,并利用SQL Server2000提供數(shù)據(jù)庫(kù)。尤其是Visual Basic 6.0可視化設(shè)計(jì)窗口這一方便而簡(jiǎn)潔的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成學(xué)校管理者滿(mǎn)意的可行系統(tǒng)。關(guān)鍵詞:原型法,面向?qū)ο?資料窗口,信息管理系統(tǒng)。1.2 前 言 學(xué)生信息管理系統(tǒng)是一個(gè)學(xué)校不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校管理者來(lái)說(shuō)是至關(guān)重要,所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)閷W(xué)校管理者提供充足的信息和快捷的查詢(xún)手段。但一直以來(lái)人們使用傳統(tǒng)人工的方式管理學(xué)生檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間長(zhǎng)了,將產(chǎn)生大量的文件和資料,這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生檔案進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高的效率,也是學(xué)??茖W(xué)化、正規(guī)化管理的重要條件。因此,開(kāi)發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開(kāi)發(fā)一套學(xué)生信息管理系統(tǒng)為例,談?wù)勂溟_(kāi)發(fā)過(guò)程和所涉及到的問(wèn)題及解決方法。1.3 開(kāi)發(fā)學(xué)生信息管理系統(tǒng)相關(guān)問(wèn)題1.3.1 學(xué)生信息管理系統(tǒng)的簡(jiǎn)介學(xué)生信息管理系統(tǒng)是針對(duì)學(xué)校學(xué)生檔案管理的大量工作而開(kāi)發(fā)的管理軟件,并以重慶市松橋中學(xué)作為本軟件的開(kāi)發(fā)背景。隨著學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成信增加。面對(duì)龐大的信息量,就需要有學(xué)生信息管理系統(tǒng)來(lái)提高學(xué)生管理工作的效率。通過(guò)這樣的系統(tǒng),可能做到信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速的查詢(xún),從而減少管理方面的工作。系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化。1.4 系統(tǒng)的實(shí)現(xiàn)以及相關(guān)問(wèn)題1.4.1 Visual Basic 6.0總概括 Visual Basic 6.0是美國(guó)Microsoft公司推出的一個(gè)可視化程序開(kāi)發(fā)軟件。它是完全按照面向?qū)ο蠼Y(jié)構(gòu)研制設(shè)計(jì)。采用圖形化的應(yīng)用開(kāi)發(fā)環(huán)境。是面向?qū)ο箝_(kāi)發(fā)工具的前端產(chǎn)品。它與其它的開(kāi)發(fā)工具軟作相比,有其自己獨(dú)立的特點(diǎn),其主要表現(xiàn)在:所見(jiàn)所得的界面設(shè)計(jì);基于對(duì)象的設(shè)計(jì)方法;極短的軟件開(kāi)發(fā)周期;較易維護(hù)的生成代碼。在有關(guān)數(shù)據(jù)庫(kù)的應(yīng)用中, Visual Basic 6.0具有描述多個(gè)數(shù)據(jù)庫(kù)連接與檢索的功能,特別是Visual Basic 6.0能提供ADO(Active Data Objects)作為應(yīng)用程序和OLE-DB連接的橋梁。它能從大多數(shù)流行的數(shù)據(jù)庫(kù)系統(tǒng)中提取資料,而且不管資料存放在什么地方。另外,各種應(yīng)用程序也可以獨(dú)立于數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行,因而Visual Basic 6.0可以使用數(shù)據(jù)庫(kù)更簡(jiǎn)單。Visual Basic 6.0正在成為面向?qū)ο箝_(kāi)發(fā)工具的標(biāo)準(zhǔn)。它為應(yīng)用開(kāi)發(fā)提供了全面、綜合性的支持,可以分別概括為如下幾點(diǎn):1. 應(yīng)用程序的事件驅(qū)動(dòng)2. Visual Basic 6.0語(yǔ)言與函數(shù)3. 面向?qū)ο蟮木幊?. 與數(shù)據(jù)庫(kù)的連接性1.4.2 實(shí)施環(huán)境與工具的比較選擇系統(tǒng)的實(shí)施是在系統(tǒng)設(shè)計(jì)的基礎(chǔ)上,用Visual Basic 6進(jìn)行程序設(shè)計(jì)開(kāi)發(fā)。Visual Basic 6是新一代的程序語(yǔ)言,它提供了開(kāi)發(fā) Microsoft Windows(R) 應(yīng)用程序的最迅速、最簡(jiǎn)捷的方法。與系統(tǒng)管理系統(tǒng)常用的開(kāi)發(fā)工具Power Builder相比,Visual basic 6主要有以下優(yōu)勢(shì):1支持ADO(ActiveX 數(shù)據(jù)對(duì)象):這項(xiàng)新的數(shù)據(jù)訪問(wèn)技術(shù)的特性包括:更簡(jiǎn)單的對(duì)象模型;與其它 Microsoft 和非 Microsoft 的技術(shù)更好的集成;為本地和遠(yuǎn)程數(shù)據(jù)數(shù)據(jù)提供的通用接口;可遠(yuǎn)程訪問(wèn)的和斷開(kāi)的記錄集;用戶(hù)可訪問(wèn)的數(shù)據(jù)綁定接口;以及層次結(jié)構(gòu)的記錄集。2完整的編程語(yǔ)言:同Power Builder只提供腳本不同,Visual Basic 6提供了一套完整的編程結(jié)構(gòu)和語(yǔ)言元素。豐富的數(shù)據(jù)類(lèi)型也提高了程序的性能。2.用對(duì)象編程:Visual Basic 6 是一種基于對(duì)象的編程語(yǔ)言。Visual Basic 6使得對(duì)象的使用變得很容易,它使在程序性編碼和使用對(duì)象的程序設(shè)計(jì)之間進(jìn)行平穩(wěn)轉(zhuǎn)換成為可能。1.4.3 編程環(huán)境、工具、實(shí)現(xiàn)與數(shù)據(jù)準(zhǔn)備概況本系統(tǒng)是在Visual Basic 6自帶的IDE下開(kāi)發(fā),數(shù)據(jù)庫(kù)設(shè)計(jì)工具使用了SQL Server 2000。所有開(kāi)發(fā)工具都是在Windows 2000操作系統(tǒng)使用,并考慮了系統(tǒng)程序在其他Windows版本操作系統(tǒng)下運(yùn)行的要求。程序代碼是以對(duì)象的觀點(diǎn)來(lái)編寫(xiě),整個(gè)系統(tǒng)所有的基本功能都封裝在4個(gè)對(duì)象中,系統(tǒng)的功能實(shí)現(xiàn)都是通過(guò)調(diào)用這4個(gè)對(duì)象提供的接口實(shí)現(xiàn)。這樣便提高了程序代碼的模塊化,有助于程序代碼的調(diào)試及以后的功能擴(kuò)展。1.4.4 學(xué)校管理者對(duì)學(xué)生信息管理系統(tǒng)的需求1.4.4.1 總體功能需求 學(xué)生信息管理系統(tǒng)是針對(duì)學(xué)校管理的大量工作,用計(jì)算機(jī)進(jìn)行全面現(xiàn)代化管理。主要包括成績(jī)信息管理、課程信息管理、班級(jí)信息管理、學(xué)籍信息管理和系統(tǒng)管理等幾個(gè)方面的功能,以實(shí)現(xiàn)學(xué)校管理者方便的輸入、查詢(xún)、修改和刪除等工作需求。1.4.4.2 具體系統(tǒng)功能需求描述 有關(guān)學(xué)籍等信息的輸入,包括學(xué)生基本信息、所在班級(jí)、所學(xué)課程和成績(jī)表等。 學(xué)生信息的查詢(xún),包括學(xué)生基本信息、所在班級(jí)、已學(xué)課程和成績(jī)等。 學(xué)生信息的修改。 班級(jí)管理信息的輸入,包括班級(jí)設(shè)置、年級(jí)信息等。 班級(jí)管理信息的查詢(xún)。 班級(jí)管理信息的修改。 學(xué)?;菊n程信息的輸入。 基本課程信息的修改。 學(xué)生課程的設(shè)置和修改。 學(xué)生成績(jī)信息的輸入。 學(xué)生成績(jī)信息的修改。 學(xué)生成績(jī)信息的查詢(xún)。 學(xué)生成績(jī)信息的統(tǒng)計(jì)。1.5 學(xué)生信息管理系統(tǒng)功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)的設(shè)計(jì)和功能實(shí)現(xiàn)1.5.1 學(xué)生信息管理系統(tǒng)的功能模塊設(shè)計(jì)通過(guò)對(duì)上述的各項(xiàng)系統(tǒng)功能進(jìn)行集中、分塊,按照程序設(shè)計(jì)的要求,得到如圖2-1所示的系統(tǒng)功能模塊圖。1.5.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,圖2-1保證數(shù)據(jù)的完整和一致。同時(shí),合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)也將有利于程序的實(shí)現(xiàn)。圖2-11.5.2.1 數(shù)據(jù)庫(kù)需求分析 用戶(hù)的需求體現(xiàn)在各種信息的提供、保存、更新和查詢(xún),這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿(mǎn)足各種信息的輸出和輸入。在仔細(xì)分析調(diào)查有關(guān)學(xué)生信息需要的基礎(chǔ)上,將得到如圖2-2本系統(tǒng)所處理的數(shù)據(jù)流程。 圖2-2針對(duì)一般學(xué)生信息管理系統(tǒng)的需求,通過(guò)對(duì)學(xué)生學(xué)習(xí)過(guò)程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu): 學(xué)生基本信息:包括的數(shù)據(jù)項(xiàng)有:學(xué)生學(xué)號(hào)、學(xué)生姓名、性別、出生日期、班號(hào)、聯(lián)系電話、入校日期、家庭住址、備注等。 設(shè)計(jì)結(jié)果如下表:student_Info 學(xué)生基本信息表列 名數(shù)據(jù)類(lèi)型可否為空說(shuō) 明student_IDInt(4)NOT NULL學(xué)生學(xué)號(hào)(主鍵)student_NameCHAR(10)NULL學(xué)生姓名student_GenderCHAR(2)NULL學(xué)生性別Born_DateDATETIME(8)NULL出生日期Class_NOINT(4)NULL班號(hào)Telt_NumberCHAR(10)NULL聯(lián)系電話Ru_dateDATETIME(8)NULL入校日期AddressVARCHAR(50)NULL家庭住址CommentVARCHAR(200)NULL注釋 班級(jí)信息:包括的數(shù)據(jù)項(xiàng)有:班號(hào)、所在年級(jí)、班主任姓名、所在教室等。設(shè)計(jì)結(jié)果如下表:class_info 班級(jí)信息表格列 名數(shù)據(jù)類(lèi)型可否為空說(shuō) 明Class_NOINT(4)NOT NULL班號(hào)(主鍵)GradeCHAR(10)NULL年級(jí)DirectorCHAR(10)NULL班主任Classroom_noCHAR(10)NULL教室 課程基本信息:包括的數(shù)據(jù)項(xiàng)有:課程號(hào)、課程名稱(chēng)、課程類(lèi)別、課程描述等。設(shè)計(jì)結(jié)果如下表:course_info 課程基本信息表列 名數(shù)據(jù)類(lèi)型可否為空說(shuō) 明Course_NOINT(4)NOT NULL課程編號(hào)(主鍵)Course_nameCHAR(10)NULL課程名稱(chēng)Course_typeCHAR(10)NULL課程類(lèi)型Course_desCHAR(10)NULL課程描述 課程設(shè)置信息:包括的數(shù)據(jù)項(xiàng)有:年級(jí)信息、所學(xué)課程等。設(shè)計(jì)結(jié)果如下表:gradecourse_info 課程設(shè)置表列 名數(shù)據(jù)類(lèi)型可否為空說(shuō) 明gradeCHAR(10)null年級(jí)Course_nameCHAR(10)null課程設(shè)置 學(xué)生成績(jī)信息:包括的數(shù)據(jù)項(xiàng)有:考試編號(hào)、所在班號(hào)、學(xué)生學(xué)號(hào)、學(xué)生姓名、所學(xué)課程、考試分?jǐn)?shù)等。Result_info 學(xué)生成績(jī)信息表列 名數(shù)據(jù)類(lèi)型可否為空說(shuō) 明Exan_NOCHAR(10)NOT NULL考試編號(hào)Student_IDINT(4)NOT NULL學(xué)生學(xué)號(hào)Student_NameCHAR(10)NULL學(xué)生姓名Class_NOInt(4)NULL學(xué)生班號(hào)Course_NameCHAR(10)NULL課程名稱(chēng)resultFLOAT(8)NULL分?jǐn)?shù)User_info 系統(tǒng)用戶(hù)表列 名數(shù)據(jù)類(lèi)型可否為空說(shuō) 明User_idCHAR(10)NOT NULL用戶(hù)名稱(chēng)(主鍵)User_PWDCHAR(10)NULL用戶(hù)密碼User_desCHAR(10)NULL用戶(hù)描述有了如上的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項(xiàng)和數(shù)據(jù)流程,我們就能進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。1.5.2.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) 根據(jù)前面的設(shè)計(jì)規(guī)劃出的實(shí)體有:學(xué)生實(shí)體、班級(jí)實(shí)體、年級(jí)實(shí)體、年級(jí)實(shí)體、課程實(shí)體。各個(gè)實(shí)體的具體描述E-R圖如下:圖2-3 圖2-4其中,圖2-3為學(xué)生實(shí)體E-R圖,圖2-4為班級(jí)實(shí)體E-R圖。 圖2-5 圖2-6圖2-5為課程實(shí)體E-R圖,圖2-6為年級(jí)實(shí)體E-R圖。實(shí)體和實(shí)體之間的關(guān)系如圖2-7所示。1.5.2.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)現(xiàn)在需要將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。在上面的實(shí)體以及實(shí)體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫(kù)的表格以及各個(gè)表格之劉的關(guān)系。1.5.2.4 數(shù)據(jù)庫(kù)結(jié)構(gòu)的實(shí)現(xiàn)經(jīng)過(guò)需求分析和概念結(jié)構(gòu)設(shè)計(jì)之后,得到數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)?,F(xiàn)在在SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)該邏輯結(jié)構(gòu),利用SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)中的SQL查詢(xún)分析器來(lái)實(shí)現(xiàn)。創(chuàng)建系統(tǒng)用戶(hù)表格user_Info的SQL語(yǔ)句如下:CREATE TABLEdbo.user_Info(user_IDchar(10)COLLATE Chinese_PRC_CI_AS NOT NULL,user_PWDchar(10)COLLATE Chinese_PRC_CI_AS NULL,user_Deschar(10)COLLATE Chinese_PRC_CI_AS NULL)ON PRIMARY1.6 學(xué)生信息管理系統(tǒng)的具體實(shí)現(xiàn)上面的的SQL語(yǔ)句在SQL Server 2000中的查詢(xún)分析器中執(zhí)行后,將產(chǎn)生所需要的表格,下面將使用Visual Basic 6.0來(lái)編寫(xiě)數(shù)據(jù)庫(kù)系統(tǒng)的客戶(hù)端程序。 1.6.1 學(xué)生信息管理系統(tǒng)主窗體的創(chuàng)建在本系統(tǒng)開(kāi)發(fā)中,我們使用MDI(即多文檔界面),這樣可以使程序更加的美觀、整齊有序。學(xué)生信息管理系統(tǒng)的主窗體如圖4-1所示。1.6.1.1 創(chuàng)建公用模塊在Visual Basic 中可以用公用模塊來(lái)存放整個(gè)工程項(xiàng)目公用的函數(shù)、全局變量等。整個(gè)項(xiàng)目中的優(yōu)任何地方都可以調(diào)用公用模塊中的函數(shù),這樣就可以極大地提高代碼的效率。由于系統(tǒng)中各個(gè)功能模塊都將頻繁使用數(shù)據(jù)庫(kù)中的各種數(shù)據(jù),因此需要一個(gè)公用的數(shù)據(jù)操作函數(shù),用以執(zhí)行各種SQL語(yǔ)句。添加函數(shù)ExecuteSQL,代碼如下:Public Function ExecuteSQL(ByVal SQL _ As String, MsgString As String) _ As ADODB.Recordsetexecutes SQL and returns Recordset Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset 圖4-1 程序主窗體 Dim sTokens() As String On Error GoTo ExecuteSQL_Error sTokens = Split(SQL) Set cnn = New ADODB.Connection cnn.Open ConnectString If InStr(INSERT,DELETE,UPDATE, _ UCase$(sTokens(0) Then cnn.Execute SQL MsgString = sTokens(0) & _ query successful Else Set rst = New ADODB.Recordset rst.Open Trim$(SQL), cnn, _ adOpenKeyset, _ adLockOptimistic rst.MoveLast get RecordCount Set ExecuteSQL = rst MsgString = 查詢(xún)到 & rst.RecordCount & _ 條記錄 End IfExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit Function ExecuteSQL_Error: MsgString = 查詢(xún)錯(cuò)誤: & _ Err.Description Resume ExecuteSQL_ExitEnd FunctionExecuteSQL函數(shù)共有兩個(gè)參數(shù): SQL和MsgString。其中SQL用來(lái)存放需要執(zhí)行的SQL語(yǔ)句,MsgString用來(lái)返回執(zhí)行的提示信息。函數(shù)執(zhí)行時(shí),首先判斷SQL語(yǔ)句中包含的內(nèi)容:當(dāng)執(zhí)行查詢(xún)操作時(shí),MsgStringSQL函數(shù)將返回一個(gè)與函數(shù)同名的記錄集對(duì)象(Recordset),所有滿(mǎn)足條件的記錄包含在對(duì)象中;當(dāng)執(zhí)行如刪除、更新、添加等操作時(shí),不返回記錄對(duì)象。在MsgStringSQL函數(shù)中使用了Connect String函數(shù),這個(gè)函數(shù)用來(lái)連接數(shù)據(jù)庫(kù),代碼如下:Public Function ConnectString() _ As Stringreturns a DB ConnectString ConnectString = FileDSN=studentinfo.dsn;UID=sa;PWD=End Function由于在后面的過(guò)程中, 需要頻繁檢查各促文本框的內(nèi)容是否為空,這里還需要定義Testtxt 函數(shù)代碼,代碼如下:Public Function Testtxt(txt As String) As Boolean If Trim(txt) = Then Testtxt = False Else Testtxt = True End IfEnd Function由于學(xué)生信息管理系統(tǒng)啟動(dòng)后,需要對(duì)用戶(hù)進(jìn)行判斷。如果登陸者是授權(quán)用戶(hù),將進(jìn)入系統(tǒng),否則停止程序的執(zhí)行。這個(gè)判斷在系統(tǒng)運(yùn)行的最初進(jìn)行,因此代碼應(yīng)該放在公手模塊中。代碼如下:Sub Main() Dim fLogin As New frmLogin fLogin.Show vbModal If Not fLogin.OK Then Login Failed so exit app End End If Unload fLogin Set fMainForm = New frmMain fMainForm.ShowEnd Sub過(guò)程Main將在系統(tǒng)啟動(dòng)時(shí)首先執(zhí)行,保證對(duì)用戶(hù)的管理。系統(tǒng)需要知道登陸用戶(hù)的信息,定義全局變量UserName。 Public UserName As String1.6.2 系統(tǒng)用戶(hù)管理模塊系統(tǒng)用戶(hù)管理模塊主要實(shí)現(xiàn): 用戶(hù)登陸 添加用戶(hù) 修改用戶(hù)密碼1.6.2.1 用戶(hù)登陸窗體的創(chuàng)建 系統(tǒng)啟動(dòng)后,將首先出現(xiàn)如圖6-2所示的用戶(hù)登陸窗體,用戶(hù)首先輸入用戶(hù)名,然后輸入密碼。如果連續(xù)3次輸入密碼不正確,將退出程序。 圖6-2 用戶(hù)登陸窗口中放置了兩個(gè)文本框(TextBox),用來(lái)輸入用戶(hù)名和密碼;兩個(gè)按鈕(CommanmdButton)用來(lái)確定和取消登陸;四個(gè)標(biāo)簽(Label)用來(lái)標(biāo)示窗體的信息。并為之設(shè)置屬性。1.6.2.2 添加用戶(hù)窗體的創(chuàng)建進(jìn)入系統(tǒng)后,選擇菜單”系統(tǒng)添加用戶(hù)”就可以添加用戶(hù),出現(xiàn)如圖6-3所示的窗體。這個(gè)窗體中放置了3個(gè)文本框,用來(lái)輸入用戶(hù)和密碼;兩個(gè)按鈕用來(lái)確定是否添加用戶(hù);3個(gè)標(biāo)簽用來(lái)標(biāo)示文本框的提示。 圖6-3 1.6.2.3 修改用戶(hù)密碼窗體的創(chuàng)建用戶(hù)可以修改自己的密碼,選擇菜單“系統(tǒng)修改密碼”出現(xiàn)如圖6-4所示的窗體。 圖6-41.6.3 學(xué)籍管理模塊的創(chuàng)建 學(xué)籍管理模塊主要實(shí)現(xiàn)如下功能: 添加黨籍信息 修改學(xué)籍信息 查詢(xún)學(xué)籍信息1.6.3.1 添加學(xué)籍信息窗體的創(chuàng)建 選擇“學(xué)籍管理添加學(xué)籍信息”菜單,將出現(xiàn)圖6-5所示的窗體。圖6-51.6.3.2 修改學(xué)籍信息窗體的創(chuàng)建選擇“學(xué)籍管理-修改學(xué)籍信息”菜單,將出現(xiàn)如圖6-6所示的窗體。本修改學(xué)籍窗口,不但能夠修改學(xué)籍信息而且能夠查看相關(guān)的學(xué)知信息。當(dāng)窗口中出現(xiàn)某一學(xué)生的學(xué)籍信息后,可以點(diǎn)“上一條記錄”、“下一條記錄”、“第一條記錄”和“最后一條記錄”來(lái)分別查找相關(guān)記錄。由于查找課程信息和班級(jí)信息等窗口中與此大致相同,以下不再累述。 圖6-61.6.3.3 查詢(xún)學(xué)籍信息窗口 選擇“學(xué)籍管理查詢(xún)學(xué)籍信息”菜單。將出現(xiàn)如圖6-7所示的窗體,在這里可以按照各種組合方式進(jìn)行查詢(xún)。圖6-7 1.6.4 班級(jí)管理模塊的創(chuàng)建班級(jí)管理模塊主要實(shí)現(xiàn)如下功能: 添加班級(jí)信息 修改班級(jí)信息1.6.4.1 添加班級(jí)信息窗口模塊進(jìn)入系統(tǒng)后,選擇“班級(jí)管理添加班級(jí)信息”菜單,將出現(xiàn)如圖6-8所示的窗體。圖6-81.6.4.2 修改班級(jí)信息窗體的創(chuàng)建進(jìn)入系統(tǒng)后,選擇“班級(jí)管理修改班級(jí)信息”菜單,將出現(xiàn)如圖6-9所示的窗體。圖6-91.6.5 課程設(shè)置模塊的創(chuàng)建課程設(shè)置模塊主要實(shí)現(xiàn)如下功能: 添加課程信息 修改課程信息 設(shè)置年級(jí)課程1.6.5.1 添加課程信息窗體的創(chuàng)建選擇“課程設(shè)置添加課程信息”菜單,將出現(xiàn)如圖6-10所示的窗體。圖6-101.6.5.2 修改課程信息窗口的創(chuàng)建選擇“課程設(shè)置修改課程信息”菜單,將出現(xiàn)如圖6-11所示的窗體。 圖6-111.6.5.3 設(shè)置年級(jí)課程表選擇“課程設(shè)置設(shè)置年級(jí)課程”,將出現(xiàn)如圖6-12所示的窗體。圖6-11 1.6.6 成績(jī)管理模塊的創(chuàng)建成績(jī)管理模塊主要實(shí)現(xiàn)以下功能: 添加成績(jī)信息 修改成績(jī)信息 查詢(xún)成績(jī)信息1.6.6.1 添加成績(jī)信息窗體的創(chuàng)建選擇“成績(jī)管理添加成績(jī)信息”菜單,將出現(xiàn)如圖6-12所示的窗體。圖6-121.6.6.2 修改成績(jī)信息窗體的創(chuàng)建選擇“成績(jī)管理修改成績(jī)信息”菜單。將出現(xiàn)如圖6-13所示的窗體。圖6-131.6.6.3 查詢(xún)成績(jī)信息窗體選擇“成績(jī)管理查詢(xún)成績(jī)信息”菜單。將出現(xiàn)如圖6-14所示的窗體。圖6-141.6.7 幫助模塊的設(shè)計(jì)一個(gè)良好的WINDOWS應(yīng)用程序應(yīng)該提供一個(gè)ABOUT窗口,基中包括系統(tǒng)的名稱(chēng)、所有權(quán)等。學(xué)生信息管理系統(tǒng)的ABOUT窗口如圖6-15。圖6-151.7 系統(tǒng)測(cè)試概況鑒于本系統(tǒng)規(guī)模不是很大,因此系統(tǒng)的測(cè)試主要集中在4個(gè)封裝基本功能的對(duì)象的代碼測(cè)試和最后系統(tǒng)的總體測(cè)試。代碼測(cè)試主要是測(cè)試對(duì)象提供的接口運(yùn)行是否正常,測(cè)試運(yùn)行結(jié)果是否與期望相同。以及對(duì)象的接口的容錯(cuò)性??傮w測(cè)試主要是測(cè)試整個(gè)系統(tǒng)的運(yùn)行正確性、可靠性和穩(wěn)定性,其中正確性最主要??傮w測(cè)試的內(nèi)容包括使用本系統(tǒng)進(jìn)行大量數(shù)據(jù)的錄入,特別是邊緣數(shù)據(jù)的錄入測(cè)試。其次測(cè)試系統(tǒng)的查詢(xún)和打印功能,測(cè)試其結(jié)果是否與預(yù)期相符。由于測(cè)試項(xiàng)目?jī)?nèi)容較多,無(wú)法在此一一羅列,故將幾個(gè)在測(cè)試中發(fā)現(xiàn)的主要問(wèn)題列出。1 系統(tǒng)開(kāi)發(fā)過(guò)程中與數(shù)據(jù)庫(kù)的連接情況出現(xiàn)問(wèn)題由于一開(kāi)始沒(méi)有注意到數(shù)據(jù)庫(kù)連接的相關(guān)問(wèn)題,所以在剛開(kāi)始開(kāi)發(fā)的過(guò)程中,比如一輸入用戶(hù)名和密碼的時(shí)候,就出現(xiàn)錯(cuò)誤,這是由于在與數(shù)據(jù)庫(kù)的連接中出現(xiàn)了問(wèn)題。通過(guò)對(duì)代碼的單步跟蹤及有關(guān)文檔,以及指導(dǎo)教師的指導(dǎo),找到了錯(cuò)誤的原因。經(jīng)過(guò)調(diào)整某些參數(shù)以后,操作運(yùn)行正常。2ComboxBox的使用在程序許多對(duì)話框中都要用到改變一個(gè)ComboBox的選擇項(xiàng),其他的相關(guān)ComboBox的內(nèi)容要進(jìn)行相應(yīng)的改變,如在學(xué)院的ComboBox中選定了某個(gè)年級(jí),則相應(yīng)的專(zhuān)業(yè)ComboBox的內(nèi)容應(yīng)變?yōu)檫@個(gè)學(xué)院的專(zhuān)業(yè)項(xiàng)。開(kāi)始,這一更新相關(guān)ComboBox的代碼是放在ComboBox的Change事件中,認(rèn)為ComboBox的選擇項(xiàng)的改變就出發(fā)此事件。但在運(yùn)行過(guò)程中,相應(yīng)ComboBox沒(méi)有如預(yù)期隨選擇項(xiàng)的改變而改變。通過(guò)單步跟蹤,發(fā)現(xiàn)此事件并沒(méi)有因?yàn)檫x擇項(xiàng)的改變而觸發(fā)。后查閱文檔,改用Click事件放更新代碼,運(yùn)行正常。1.7.1 系統(tǒng)轉(zhuǎn)換方案及實(shí)現(xiàn)概況本系統(tǒng)的實(shí)現(xiàn)比較方便,只要具備本系統(tǒng)運(yùn)行的環(huán)境就可使用。系統(tǒng)安裝只需使用提供的系統(tǒng)安裝程序?qū)⑾到y(tǒng)安裝到計(jì)算機(jī)上,如需多臺(tái)計(jì)算機(jī)一起使用,只需要分別將系統(tǒng)裝在相應(yīng)的計(jì)算機(jī)上,然后指定使用一臺(tái)計(jì)算機(jī)上的數(shù)據(jù)庫(kù),其他計(jì)算機(jī)在使用時(shí)需與此計(jì)算機(jī)聯(lián)網(wǎng),并在系統(tǒng)登錄時(shí)選擇指定計(jì)算機(jī)上的數(shù)據(jù)庫(kù)文件即可。系統(tǒng)運(yùn)行與維護(hù)概況平時(shí)應(yīng)注意對(duì)使用系統(tǒng)的計(jì)算機(jī)的日常管理,特別是存放數(shù)據(jù)庫(kù)文件的計(jì)算機(jī)。有條件的應(yīng)該定期對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行拷貝備份,防止因意外或人為因素導(dǎo)致數(shù)據(jù)庫(kù)文件的破壞而造成數(shù)據(jù)丟失的損失,保證系統(tǒng)的正常運(yùn)行。1.7.2 軟硬件平臺(tái) 客戶(hù)機(jī)/服務(wù)器:采用Pentium II 或以上級(jí)別PC機(jī),至少30M硬盤(pán),Pentium90MHZ,支持VGA或分辨率更高的顯示器客戶(hù)機(jī)/服務(wù)器操作系統(tǒng):Window 98/Me,也可使用Windows NT作為操作系統(tǒng)數(shù)據(jù)庫(kù):SQL Server2000網(wǎng)絡(luò):以太網(wǎng)組成的局域網(wǎng),可設(shè)多臺(tái)客戶(hù)機(jī)。1.8 結(jié)束語(yǔ)經(jīng)過(guò)三個(gè)多月的設(shè)計(jì)和開(kāi)發(fā),學(xué)生信息管理系統(tǒng)基本開(kāi)發(fā)完畢。其功能基本符合學(xué)校管理者需求,能夠完成成績(jī)信息、課程信息、班級(jí)信息、學(xué)籍信息的輸入、查詢(xún)、修改和刪除,以及各類(lèi)相關(guān)報(bào)表的打印。 但是由于畢業(yè)設(shè)計(jì)時(shí)間較短,所以該系統(tǒng)還有許多不盡如人意的地方,比如聯(lián)機(jī)文檔比較少,學(xué)校管理者接口不夠美觀,出錯(cuò)處理不夠等多方面問(wèn)題。這些都有待進(jìn)一步改善。1.9 致 謝在本次畢業(yè)設(shè)計(jì)中,我從指導(dǎo)老師尚老師身上學(xué)到了很多東西。尚老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我收益匪淺。他無(wú)論在理論上還是在實(shí)踐中,都給與我很大的幫助,使我得到不少的提高,這對(duì)于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,感謝他耐心的輔導(dǎo)。另外,在系統(tǒng)開(kāi)發(fā)過(guò)程中,我的朋友APPLE ZHOU給予我很大精神支持,讓我渡過(guò)難關(guān)。也從技術(shù)上給予我不少幫助,這里一并表示感謝。1.10 參 考 文 獻(xiàn)1Visual Basic 程序設(shè)計(jì) 陳 明 中央廣播電視大學(xué)出版社2000年2SQL Sever 高級(jí)開(kāi)發(fā)與專(zhuān)業(yè)運(yùn)用3Visual Basic 6.0 數(shù)據(jù)庫(kù)開(kāi)發(fā)與專(zhuān)業(yè)運(yùn)用 敬 錚 國(guó)防工業(yè)出版社 2002年1.11 附程序代碼清單畢業(yè)設(shè)計(jì)課程定做 QQ1714879127系統(tǒng)主窗體:Private Sub addcinfoMenu_Click() frmAddclassinfo.ShowEnd SubPrivate Sub addcourseMenu_Click() frmAddcourseinfo.ShowEnd SubPrivate Sub addresultMenu_Click() frmAddresult.ShowEnd SubPrivate Sub addsinfoMenu_Click() frmAddsinfo.ShowEnd SubPrivate Sub adduserMenu_Click() frmAdduser.Show sbStatusBar.Panels(1).Text = 添加用戶(hù)End SubPrivate Sub exitMenu_Click() EndEnd SubPrivate Sub exitsinfoMenu_Click() Unload frminquireinfoEnd SubPrivate Sub gradecourseMenu_Click() frmSetcourseinfo.ShowEnd SubPrivate Sub inquireresultMenu_Click() frmInquireresult.ShowEnd SubPrivate Sub inquiresinfoMenu_Click() frmInquiresinfo.ShowEnd SubPrivate Sub MDIForm_Load() Me.Left = GetSetting(App.Title, Settings, MainLeft, 1000) Me.Top = GetSetting(App.Title, Settings, MainTop, 1000) Me.Width = GetSetting(App.Title, Settings, MainWidth, 6500) Me.Height = GetSetting(App.Title, Settings, MainHeight, 6500) End SubPrivate Sub MDIForm_Unload(Cancel As Integer) If Me.WindowState vbMinimized Then SaveSetting App.Title, Settings, MainLeft, Me.Left SaveSetting App.Title, Settings, MainTop, Me.Top SaveSetting App.Title, Settings, MainWidth, Me.Width SaveSetting App.Title, Settings, MainHeight, Me.Height End IfEnd SubPrivate Sub modifycinfoMenu_Click() frmModifyclassinfo.ShowEnd SubPrivate Sub modifycourseMenu_Click() frmModifycourseinfo.ShowEnd SubPrivate Sub modifypwdMenu_Click() frmModifyuserinfo.ShowEnd SubPrivate Sub modifyresultMenu_Click() frmModifyresult.ShowEnd SubPrivate Sub modifysinfo_Menu_Click() frmModifysinfo.ShowEnd Sub登陸窗口Option ExplicitPrivate Declare Function GetUserName Lib advapi32.dll Alias GetUserNameA (ByVal lpbuffer As String, nSize As Long) As LongPublic OK As Boolean記錄確定次數(shù)Dim miCount As IntegerPrivate Sub Form_Load() Dim sBuffer As String Dim lSize As Long sBuffer = Space$(255) lSize = Len(sBuffer) Call GetUserName(sBuffer, lSize) If lSize 0 Then txtUserName.Text = Else txtUserName.Text = vbNullString End If OK = False miCount = 0End SubPrivate Sub cmdCancel_Click() OK = False Me.HideEnd SubPrivate Sub cmdOK_Click() Dim txtSQL As String Dim mrc As ADODB.Recordset Dim MsgText As String ToDo: create test for correct password check for correct password UserName = If Trim(txtUserName.Text = ) Then MsgBox 沒(méi)有這個(gè)用戶(hù),請(qǐng)重新輸入用戶(hù)名!, vbOKOnly + vbExclamation, 警告 txtUserName.SetFocus Else txtSQL = select * from user_Info where user_ID = sa & txtUserName.Text & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = True Then MsgBox 沒(méi)有這個(gè)用戶(hù),請(qǐng)重新輸入用戶(hù)名!, vbOKOnly + vbExclamation, 警告 txtUserName.SetFocus Else If Trim(mrc.Fields(1) = Trim(txtPassword.Text) Then OK = True mrc.Close Me.Hide UserName = Trim(txtUserName.Text) Else MsgBox 輸入密碼不正確,請(qǐng)重新輸入!, vbOKOnly + vbExclamation, 警告 txtPassword.SetFocus txtPassword.Text = End If End If End If miCount = miCount + 1 If miCount = 3 Then Me.Hide End If Exit SubEnd Sub設(shè)置年級(jí)課程信息窗口:Option ExplicitDim flagSet As BooleanDim flagGrade As BooleanPrivate Sub cmdAdd_Click() If listAllcourse.ListIndex -1 Then listSelectcourse.AddItem listAllcourse.List(listAllcourse.ListIndex) End If End SubPrivate Sub cmdDelete_Click() If listSelectcourse.ListIndex -1 Then listSelectcourse.RemoveItem listSelectcourse.ListIndex End IfEnd SubPrivate Sub cmdExit_Click() Unload MeEnd SubPrivate Sub cmdModify_Click() Dim i As Integer Dim mrc As ADODB.Recordset Dim mrcc As ADODB.Recordset Dim txtSQL As String Dim MsgText As String Dim myBookmark As Variant If Not Testtxt(comboGrade.Text) Then MsgBox 請(qǐng)先選擇年級(jí)!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If Not Testtxt(listSelectcourse.List(0) Then MsgBox 請(qǐng)選擇課程!, vbOKOnly + vbExclamation, 警告 Exit Sub End If txtSQL = select * from gradecourse_Info where grade = & Trim(comboGrade.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF Then For i = 1 To listSelectcourse.ListCount mrc.AddNew mrc.Fields(0) = comboGrade.Text mrc.Fields(1) = listSelectcourse.List(i - 1) mrc.Update Next i mrc.Close MsgBox 課程設(shè)置成功!, vbOKOnly + vbExclamation, 警告 Else mrc.Close txtSQL = delete from gradecourse_Info where grade = & Trim(comboGrade.Text) & Set mrcc = ExecuteSQL(txtSQL, MsgText) txtSQL = select * from gradecourse_Info Set mrcc = ExecuteSQL(txtSQL, MsgText) For i = 1 To listSelectcourse.ListCount mrcc.AddNew mrcc.Fields(0) = comboGrade.Text mrcc.Fields(1) = listSelectcourse.List(i - 1) mrcc.Update Nex

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論