2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩45頁(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)介

1、<p><b>  目 錄</b></p><p><b>  第一章引言1</b></p><p>  1.1 開(kāi)發(fā)目的1</p><p>  1.2 開(kāi)發(fā)背景2</p><p>  第二章 系統(tǒng)需求分析3</p><p>  2.1 學(xué)藉管理

2、系統(tǒng)的需求3</p><p>  2.2 學(xué)籍管理系統(tǒng)主要技術(shù)指標(biāo)3</p><p>  2.3 編程語(yǔ)言和運(yùn)行環(huán)境介紹4</p><p>  第三章 功能模塊設(shè)計(jì)7</p><p>  3.1 學(xué)藉管理系統(tǒng)功能模塊7</p><p>  3.2 功能模塊介紹7</p><p&

3、gt;  第四章 系統(tǒng)的實(shí)現(xiàn)8</p><p>  4.1 程序的入口的設(shè)計(jì)8</p><p>  4.2 程序的主界面的設(shè)計(jì)9</p><p>  4.3 添加學(xué)生信息界面的設(shè)計(jì)13</p><p>  4.4 學(xué)生成績(jī)錄入界面的設(shè)計(jì)15</p><p>  4.5 修改學(xué)生信息界面的設(shè)計(jì)17

4、</p><p>  4.6 修改學(xué)生成績(jī)界面的設(shè)計(jì)20</p><p>  4.7 查詢(xún)學(xué)生信息界面的設(shè)計(jì)23</p><p>  4.8 查詢(xún)學(xué)生成績(jī)界面的設(shè)計(jì)26</p><p>  4.9 刪除學(xué)生信息界面的設(shè)計(jì)27</p><p>  4.10 刪除學(xué)生成績(jī)界面的設(shè)計(jì)31</p>

5、<p>  第五章 測(cè)試34</p><p>  總結(jié)與心得體會(huì)42</p><p><b>  參考文獻(xiàn)43</b></p><p><b>  致 謝44</b></p><p><b>  附 錄45</b></p><p

6、><b>  引言</b></p><p>  學(xué)籍管理工作在正常的情況下需對(duì)大量的數(shù)據(jù)進(jìn)行處理,它們包括,新生入學(xué)、班級(jí)設(shè)置、班級(jí)編排、新生學(xué)號(hào)設(shè)置、學(xué)生基本檔案輸入、學(xué)籍變動(dòng)、每學(xué)期末的升級(jí)處理、學(xué)生生花名冊(cè)打印等。如果由人工去處理這些數(shù)據(jù)需要花費(fèi)大量的時(shí)間、人力、物力。</p><p><b>  1.1 開(kāi)發(fā)目的</b></

7、p><p>  學(xué)生學(xué)籍管理系統(tǒng)是一個(gè)教育單位信息化管理中不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以學(xué)生學(xué)籍管理系統(tǒng)應(yīng)該能夠?yàn)橛脩?hù)(即學(xué)生和管理者)提供充足的信息和快捷的查詢(xún)手段。但一直以來(lái)人們使用傳統(tǒng)人工的方式來(lái)管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。</p><p&

8、gt;  學(xué)籍管理信息系統(tǒng)以計(jì)算機(jī)為工具,通過(guò)對(duì)教務(wù)管理所的信息管理,把管理人員從繁瑣的數(shù)據(jù)計(jì)算處理中解脫出來(lái),使其有更多的精力從事教務(wù)管理政策的研究實(shí)施,教學(xué)計(jì)劃的制定執(zhí)行和教學(xué)質(zhì)量的監(jiān)督檢查,從而全面提高教學(xué)質(zhì)量。</p><p><b>  1.2 開(kāi)發(fā)背景</b></p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),

9、它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生學(xué)籍信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低、數(shù)據(jù)處理快速等。這些優(yōu)點(diǎn)能夠極大地提高了學(xué)生學(xué)籍信息管理的效率,也是學(xué)生學(xué)籍管理科學(xué)化、正規(guī)化,與世界接軌的重要條件。因此,開(kāi)發(fā)一套學(xué)生學(xué)籍管理軟件成為很有必要的事情。</p><p>  傳統(tǒng)的學(xué)校學(xué)籍

10、管理方法、由于分散管理,易發(fā)生數(shù)據(jù)丟失,勞動(dòng)強(qiáng)度高,速度慢。使用計(jì)算機(jī)可以高速、快捷地完成以上工作。特別是在計(jì)算機(jī)聯(lián)網(wǎng)后,數(shù)據(jù)在網(wǎng)上傳遞,可以實(shí)現(xiàn)數(shù)據(jù)共享,避免重復(fù)勞動(dòng),規(guī)范教學(xué)管理行為,從而提高了管理效率和水平。學(xué)籍管理信息系統(tǒng)以計(jì)算機(jī)為工具,通過(guò)對(duì)教務(wù)管理所需的信息管理,把管理人員從繁瑣的數(shù)據(jù)計(jì)算處理中解脫出來(lái),從而全面提高教學(xué)質(zhì)量。</p><p>  第二章 系統(tǒng)需求分析</p><

11、p>  2.1 學(xué)藉管理系統(tǒng)的需求</p><p>  因?yàn)閷W(xué)籍管理系統(tǒng)存儲(chǔ)學(xué)生信息,所以數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)該具有備份和恢復(fù)功能,保證學(xué)生數(shù)據(jù)庫(kù)的長(zhǎng)期完整性和正確性。另一方面,作為系統(tǒng)的服務(wù)器應(yīng)該能夠長(zhǎng)期無(wú)故障的運(yùn)行,而且能夠便于管理員的操作。安全性要求比較高,對(duì)業(yè)務(wù)邏輯必須封裝,避免有人登陸他沒(méi)權(quán)限的網(wǎng)頁(yè),避免黑客從數(shù)據(jù)流中截取。</p><p>  普通用戶(hù)的需求:對(duì)于只有查看權(quán)限的

12、用戶(hù),一般是通過(guò)上網(wǎng)瀏覽學(xué)校網(wǎng)頁(yè)來(lái)查看數(shù)據(jù)的。</p><p>  各部門(mén)管理員:能夠?qū)ο到y(tǒng)進(jìn)行設(shè)置,以適應(yīng)不同用戶(hù)的需求。對(duì)不同系的管理員分配不同的權(quán)限,教務(wù)處系統(tǒng)管理員具有最高的管理權(quán)限。</p><p>  2.2 學(xué)籍管理系統(tǒng)主要技術(shù)指標(biāo)</p><p>  學(xué)籍管理系統(tǒng)主要技術(shù)指標(biāo)</p><p>  (1)使用最新開(kāi)發(fā)工具開(kāi)發(fā),

13、運(yùn)行穩(wěn)定、效率高; </p><p>  (2)學(xué)籍管理系統(tǒng)對(duì)硬件要求低,350M以上剩余硬盤(pán)空間即可保證軟件順利運(yùn)行;</p><p>  (3)可擴(kuò)展性和靈活性強(qiáng),用戶(hù)可以自由定義所需掌握的學(xué)籍信息并根據(jù)需要隨時(shí)調(diào)用和查詢(xún)已錄入信息;</p><p>  (4)學(xué)籍管理系統(tǒng)操作簡(jiǎn)便、快捷,使用我們的閱讀機(jī)和配套信息卡,所有學(xué)生入學(xué)、退學(xué)、升級(jí)等業(yè)務(wù)僅需點(diǎn)擊幾次鼠

14、標(biāo)即可輕松完成。在新生入學(xué)等大批量人員操作時(shí),更可以節(jié)省錄入時(shí)間、提高正確率。學(xué)籍管理系統(tǒng)所有信息也可人工錄入和修改,以方便沒(méi)有閱讀機(jī)的用戶(hù)。</p><p>  2.3 編程語(yǔ)言和運(yùn)行環(huán)境介紹</p><p>  學(xué)藉管理系統(tǒng)采用Java語(yǔ)言進(jìn)行編程。Java語(yǔ)言是一種很優(yōu)秀的語(yǔ)言,是目前軟件設(shè)計(jì)中極為壯健的編程語(yǔ)言,只要提供了Java解釋器,Java編寫(xiě)的軟件在執(zhí)行碼上兼容。Java

15、作為一種程序設(shè)計(jì)語(yǔ)言,它簡(jiǎn)單、面向?qū)ο?、不依?lài)于機(jī)器的結(jié)構(gòu)、具有可移植性、安全性、并且提供了并發(fā)的機(jī)制,具有很高的性能。其次,它最大限度地利用了網(wǎng)絡(luò),Java的小應(yīng)用程序(applet)可在網(wǎng)絡(luò)上運(yùn)行而不受CPU和環(huán)境的限制。另外,Java還提供了豐富的類(lèi)庫(kù),使程序設(shè)計(jì)者可以很方便地建立自己的系統(tǒng)。</p><p>  通過(guò)分析Java的特點(diǎn),進(jìn)一步指出它所具有的優(yōu)點(diǎn)。</p><p> 

16、 Java語(yǔ)言有下面一些特點(diǎn):簡(jiǎn)單、面向?qū)ο蟆⑴c平臺(tái)無(wú)關(guān)、解釋執(zhí)行、多線程、安全、動(dòng)態(tài)性。</p><p>  (1) 簡(jiǎn)單:Java語(yǔ)言是一種面向?qū)ο蟮恼Z(yǔ)言,它通過(guò)提供最基本的方法來(lái)完成指定的任務(wù),只需理解一些基本的概念,就可以用它編寫(xiě)出適合于各種情況的應(yīng)用程序。Java略去了運(yùn)算符重載、多重繼承等模糊的概念,并且通過(guò)實(shí)現(xiàn)自動(dòng)垃圾回收,大大簡(jiǎn)化了程序設(shè)計(jì)者的內(nèi)存管理工作。</p><p>

17、;  (2) 面向?qū)ο螅篔ava語(yǔ)言的設(shè)計(jì)集中于對(duì)象及其接口,它提供了簡(jiǎn)單的類(lèi)機(jī)制以及動(dòng)態(tài)的接口模型。對(duì)象中封裝了它的狀態(tài)變量以及相應(yīng)的方法,實(shí)現(xiàn)了模塊化和信息隱藏;而類(lèi)則提供了一類(lèi)對(duì)象的原型,并且通過(guò)繼承機(jī)制,子類(lèi)可以使用父類(lèi)所提供的方法,實(shí)現(xiàn)了代碼的復(fù)用。</p><p>  (3) 與平臺(tái)無(wú)關(guān):Java解釋器生成與體系結(jié)構(gòu)無(wú)關(guān)的字節(jié)碼指令,只要安裝了Java運(yùn)行時(shí)系統(tǒng),Java程序就可在任意的處理器上運(yùn)行。

18、這些字節(jié)碼指令對(duì)應(yīng)于Java虛擬機(jī)中的表示,Java解釋器得到字節(jié)碼后,對(duì)它進(jìn)行轉(zhuǎn)換,使之能夠在不同的平臺(tái)運(yùn)行。</p><p>  (4) 解釋型:Java解釋器直接對(duì)Java字節(jié)碼進(jìn)行解釋執(zhí)行。字節(jié)碼本身攜帶了許多編譯時(shí)信息,使得連接過(guò)程更加簡(jiǎn)單。</p><p>  (5) 多線程:Java還有一特點(diǎn)就是內(nèi)置對(duì)多線程的支持。多線程支持完成多個(gè)任務(wù)。</p><p&

19、gt;  (6) 安全:用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病毒的入侵。Java不支持指針,一切對(duì)內(nèi)存的訪問(wèn)都必須通過(guò)對(duì)象的實(shí)例變量來(lái)實(shí)現(xiàn),這樣就防止程序員使用“特洛伊”木馬等欺騙手段訪問(wèn)對(duì)象的私有成員,同時(shí)也避免了指針操作中容易產(chǎn)生的錯(cuò)誤。</p><p>  (7) 動(dòng)態(tài):Java的設(shè)計(jì)使它適合于一個(gè)不斷發(fā)展的環(huán)境。在類(lèi)庫(kù)中可以自由地加入新的方法和實(shí)例變量而不會(huì)影響用戶(hù)程序的執(zhí)行。并且Java通過(guò)接口來(lái)支

20、持多重繼承,使之比嚴(yán)格的類(lèi)繼承具有更靈活的方式和擴(kuò)展性。</p><p>  圖形用戶(hù)界面(Graphical User Interface,簡(jiǎn)稱(chēng) GUI,又稱(chēng)圖形用戶(hù)接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶(hù)界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面對(duì)于用戶(hù)來(lái)說(shuō)在視覺(jué)上更易于接受。</p><p>  如Windows是以圖形界面方式操作的,因?yàn)槟憧梢杂檬髽?biāo)來(lái)點(diǎn)擊按鈕來(lái)進(jìn)行操作,很

21、直觀。而DOS就不具備GUI,所以他只能輸入命令。DOS 的這種界面叫CUI (Command line User Interface ) 命令行模式的人機(jī)接口。</p><p>  GUI 是 Graphical User Interface 的簡(jiǎn)稱(chēng),即圖形用戶(hù)界面,通常人機(jī)交互圖形化用戶(hù)界面設(shè)計(jì)經(jīng)常讀做“goo-ee”,準(zhǔn)確來(lái)說(shuō) GUI 就是屏幕產(chǎn)品的視覺(jué)體驗(yàn)和互動(dòng)操作部分。 </p><

22、p>  GUI 是一種結(jié)合計(jì)算機(jī)科學(xué)、美學(xué)、心理學(xué)、行為學(xué),及各商業(yè)領(lǐng)域需求分析的人機(jī)系統(tǒng)工程,強(qiáng)調(diào)人—機(jī)—環(huán)境三者作為一個(gè)系統(tǒng)進(jìn)行總體設(shè)計(jì)。 </p><p>  這種面向客戶(hù)的系統(tǒng)工程設(shè)計(jì)其目的是優(yōu)化產(chǎn)品的性能,使操作更人性化,減輕使用者的認(rèn)知負(fù)擔(dān),使其更適合用戶(hù)的操作需求,直接提升產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力。 </p><p>  GUI 即人機(jī)交互圖形化用戶(hù)界面設(shè)計(jì)??v觀國(guó)際相關(guān)產(chǎn)業(yè)在

23、圖形化用戶(hù)界面設(shè)計(jì)方面的發(fā)展現(xiàn)狀,許多國(guó)際知名公司早已意識(shí)到 GUI 在產(chǎn)品方面產(chǎn)生的強(qiáng)大增值功能,以及帶動(dòng)的巨大市場(chǎng)價(jià)值,因此在公司內(nèi)部設(shè)立了相關(guān)部門(mén)專(zhuān)門(mén)從事 GUI 的研究與設(shè)計(jì),同業(yè)間也成立了若干機(jī)構(gòu),以互相交流 GUI 設(shè)計(jì)理論與經(jīng)驗(yàn)為目的。隨著中國(guó) IT 產(chǎn)業(yè),移動(dòng)通訊產(chǎn)業(yè),家電產(chǎn)業(yè)的迅猛發(fā)展,在產(chǎn)品的人機(jī)交互界面設(shè)計(jì)水平發(fā)展上日顯滯后,這對(duì)于提高產(chǎn)業(yè)綜合素質(zhì),提升與國(guó)際同等業(yè)者的競(jìng)爭(zhēng)能力等等方面無(wú)疑起了制約的作用。</

24、p><p>  第三章 功能模塊設(shè)計(jì)</p><p>  3.1 學(xué)藉管理系統(tǒng)功能模塊</p><p>  該學(xué)藉管理系統(tǒng)包括六個(gè)大模塊,分別為入口、主界面、添加信息、修改信息、查詢(xún)信息、刪除信息。其中添加信息包含了添加基本信息和錄入成績(jī)信息功能;刪除信息包含了刪除基本信息和刪除成績(jī)信息功能;修改信息包含了修改基本信息和修改成績(jī)信息功能;查詢(xún)信息包含了查詢(xún)基本信息和

25、成績(jī)信息。其中基本信息包括學(xué)號(hào)、姓名、系別、專(zhuān)業(yè)等信息。</p><p>  3.2 功能模塊介紹</p><p>  該學(xué)藉管理系統(tǒng)包括六個(gè)大模塊,分別為入口、主界面、添加信息、修改信息、查詢(xún)信息、刪除信息。其具體的功能如下: (1)Student.Java:程序的入口,初始代主界面,使主界面位于屏幕的中間,使用戶(hù)不能改變其大小。 (2)MainFrame.Java:程序的

26、主界面,由菜單、登陸界面和操作選項(xiàng)所構(gòu)成。</p><p>  (3)AddInf.Java和Addscore.Java添加信息和成績(jī)界面,按照要求添入基本信息和錄入成績(jī)。</p><p>  (4)ChangeInf.Java和 Changescore.Java修改信息和成績(jī)界面,按照提示輸入要修改信息的學(xué)生的學(xué)號(hào),修改基本信息和成績(jī)。</p><p>  (5)

27、SearchInf.Java和Searchscore.Java查詢(xún)信息和成績(jī)界面,輸入要查詢(xún)信息的學(xué)生的學(xué)號(hào)或姓名,查詢(xún)基本信息和成績(jī)。</p><p>  (6)DelInf.Java和Delscore.Java刪除信息和成績(jī)界面,輸入要?jiǎng)h除信息的學(xué)生的學(xué)號(hào),刪除基本信息和成績(jī)。</p><p>  第四章 系統(tǒng)的實(shí)現(xiàn)</p><p>  該系統(tǒng)由十個(gè)類(lèi)組成,這

28、十個(gè)類(lèi)分別是Student類(lèi)、MainFrame類(lèi)、AddInf類(lèi)、Addscore類(lèi)、ChangeInf類(lèi)、Changescore類(lèi)、DelInf類(lèi)、Delscore類(lèi)、SearchInf類(lèi)和Searchscore類(lèi),每一個(gè)類(lèi)里面都包含學(xué)生的基本信息或成績(jī),其中Student類(lèi)是含有主方法的,是程序的入口,MainFrame類(lèi)是程序的主界面。學(xué)生的基本信息和成績(jī)都存放在student數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)中用三個(gè)表,分別用于存放登錄時(shí)的用戶(hù)

29、名和密碼,學(xué)生的基本信息和學(xué)生的成績(jī)。</p><p>  4.1 程序的入口的設(shè)計(jì)</p><p>  Student類(lèi)是含有主方法的,是程序的入口,起初始代主界面的作用,使主界面位于屏幕的中間,使用戶(hù)不能改變其大小。代碼如下:</p><p>  public class Student {</p><p>  boolean pack

30、Frame = false;</p><p>  public Student() {</p><p>  MainFrame frame = new MainFrame();</p><p>  if (packFrame) {</p><p>  frame.pack();</p><p><b>  }

31、</b></p><p><b>  else {</b></p><p>  frame.validate();</p><p><b>  }</b></p><p>  Dimension screenSize = Toolkit.getDefaultToolkit().getSc

32、reenSize();</p><p>  Dimension frameSize = frame.getSize();</p><p>  if (frameSize.height > screenSize.height) {</p><p>  frameSize.height = screenSize.height;</p><p&g

33、t;<b>  }</b></p><p>  if (frameSize.width > screenSize.width) {</p><p>  frameSize.width = screenSize.width;</p><p><b>  }</b></p><p>  frame

34、.setLocation( (screenSize.width - frameSize.width) / 2,</p><p>  (screenSize.height - frameSize.height) / 2);</p><p>  frame.setVisible(true);</p><p><b>  }</b></p>

35、;<p>  public static void main(String[] args) {</p><p>  try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());</p><p><b>  }</b></p><p>  cat

36、ch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p>  new Student();</p><p><b>  }</b></p><p><b>  }<

37、;/b></p><p>  4.2 程序的主界面的設(shè)計(jì)</p><p>  MainFrame類(lèi)是程序的主界面,由菜單、登陸界面和操作選項(xiàng)所構(gòu)成。其中菜單的“文件”中各操作項(xiàng)必須在登陸后方可選擇。</p><p>  (1)“進(jìn)入系統(tǒng)”按鈕的事件處理方法代碼。</p><p>  輸入用戶(hù)名和密碼后點(diǎn)擊“進(jìn)入系統(tǒng)”按鈕,提示登陸成功

38、之后(用戶(hù)名和密碼在數(shù)據(jù)庫(kù)的Admin表中,如果用戶(hù)填的密碼或用戶(hù)名錯(cuò)誤或沒(méi)填都會(huì)產(chǎn)生相應(yīng)的警告框),登陸界面消失,出現(xiàn)“添加信息”、“修改信息”、“信息查詢(xún)”和“刪除信息”四個(gè)按鈕,且菜單中的操作項(xiàng)也被激活?!斑M(jìn)入系統(tǒng)”按鈕的事件處理方法代碼如下:</p><p>  void button1_actionPerformed(ActionEvent e) {</p><p>  Stri

39、ng user = textField1.getText().trim();</p><p>  String pass = textField2.getText().trim();</p><p><b>  try {</b></p><p>  String strurl = "jdbc:odbc:driver={Microso

40、ft Access Driver (*.mdb)};DBQ=student.mdb";</p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  Connection conn = DriverManager.getConnection(strurl);</p><

41、p>  Statement stmt = conn.createStatement();</p><p>  if (user.equals("")|| pass.equals(""))</p><p>  JOptionPane.showMessageDialog(null, "用戶(hù)名或密碼不能為空", "警告&

42、quot;,JOptionPane.WARNING_MESSAGE);</p><p><b>  else {</b></p><p>  ResultSet rs = stmt.executeQuery("select * from admin where username='" + user + "' AND pas

43、sword='" + pass + "'");</p><p>  if (rs.next()) {</p><p>  JOptionPane.showMessageDialog(null, "登陸成功");</p><p>  login = true;</p><p> 

44、 label1.setVisible(false);</p><p>  label5.setVisible(false);</p><p>  textField1.setVisible(false);</p><p>  label2.setVisible(false);</p><p>  textField2.setVisible(f

45、alse);</p><p>  button1.setVisible(false);</p><p>  label3.setVisible(true);</p><p>  label4.setVisible(true);</p><p>  button2.setVisible(true);</p><p>  

46、button3.setVisible(true);</p><p>  button4.setVisible(true);</p><p>  button5.setVisible(true);</p><p>  jMenuItem1.setEnabled(true);</p><p>  jMenuItem2.setEnabled(tru

47、e);</p><p>  jMenuItem3.setEnabled(true);</p><p>  jMenuItem4.setEnabled(true);</p><p><b>  }</b></p><p><b>  else</b></p><p>  JOp

48、tionPane.showMessageDialog(null, "登陸失敗", "警告",</p><p>  JOptionPane.WARNING_MESSAGE);</p><p><b>  }</b></p><p><b>  }</b></p><

49、p>  catch (Exception eg)</p><p><b>  {</b></p><p>  eg.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>

50、;<b>  }</b></p><p>  (2)“添加信息”按鈕和操作項(xiàng)的事件處理方法代碼。</p><p>  單擊“添加信息”按鈕或操作項(xiàng)后出現(xiàn)“添加學(xué)生信息”界面?!疤砑有畔ⅰ卑粹o和操作項(xiàng)的事件處理方法代碼如下:</p><p>  class MainFrame_ActionAdapter implements ActionList

51、ener {</p><p>  MainFrame adaptee;</p><p>  MainFrame_ActionAdapter(MainFrame adaptee) {</p><p>  this.adaptee = adaptee;</p><p><b>  }</b></p><p

52、>  public void actionPerformed(ActionEvent e) {</p><p>  if (e.getSource() == adaptee.jMenuFileExit)</p><p>  adaptee.jMenuFileExit_actionPerformed(e);</p><p>  else if (e.getSou

53、rce() == adaptee.jMenuItem1 ||</p><p>  e.getSource() == adaptee.button2) {</p><p>  AddInf addInf = new AddInf();</p><p>  addInf.setSize(400, 300);</p><p>  addInf.se

54、tVisible(true);</p><p><b>  }</b></p><p>  (3)“修改信息”按鈕和操作項(xiàng)的事件處理方法代碼。</p><p>  單擊“修改信息”按鈕或操作項(xiàng)后出現(xiàn)“修改學(xué)生信息”界面?!靶薷男畔ⅰ卑粹o和操作項(xiàng)的事件處理方法代碼如下:</p><p>  else if (e.getSo

55、urce() == adaptee.jMenuItem3 ||</p><p>  e.getSource() == adaptee.button3) {</p><p>  ChangeInf changeInf = new ChangeInf();</p><p>  changeInf.setSize(400, 300);</p><p&g

56、t;  changeInf.setVisible(true);</p><p><b>  }</b></p><p>  (4)“查詢(xún)信息”按鈕和操作項(xiàng)的事件處理方法代碼。</p><p>  單擊“查詢(xún)信息”按鈕或操作項(xiàng)后出現(xiàn)“查詢(xún)學(xué)生信息”界面?!安樵?xún)信息”按鈕和操作項(xiàng)的事件處理方法代碼如下:</p><p>  

57、else if (e.getSource() == adaptee.jMenuItem2 ||</p><p>  e.getSource() == adaptee.button4) {</p><p>  SearchInf searchInf = new SearchInf();</p><p>  searchInf.setSize(400, 300);<

58、;/p><p>  searchInf.setVisible(true);</p><p><b>  }</b></p><p>  (5)“刪除信息”按鈕和操作項(xiàng)的事件處理方法代碼。</p><p>  單擊“刪除信息”按鈕或操作項(xiàng)后出現(xiàn)“刪除學(xué)生信息”界面?!皠h除信息”按鈕和操作項(xiàng)的事件處理方法代碼如下:</p&

59、gt;<p>  else if (e.getSource() == adaptee.jMenuItem4 ||</p><p>  e.getSource() == adaptee.button5) {</p><p>  DelInf delInf = new DelInf();</p><p>  delInf.setSize(400, 300)

60、;</p><p>  delInf.setVisible(true);</p><p><b>  }</b></p><p>  else if (e.getSource() == adaptee.jMenuHelpAbout)</p><p>  adaptee.jMenuHelpAbout_actionPerfo

61、rmed(e);</p><p>  else if (e.getSource() == adaptee.button1)</p><p>  adaptee.button1_actionPerformed(e);</p><p><b>  }</b></p><p><b>  }</b><

62、;/p><p>  4.3 添加學(xué)生信息界面的設(shè)計(jì)</p><p>  該界面由學(xué)生的基本信息、“添加”按鈕、“退出添加”按鈕和“成績(jī)錄入”按鈕所構(gòu)成。</p><p>  (1)“添加”按鈕的事件處理方法代碼。</p><p>  AddInf類(lèi)是添加學(xué)生信息的,按照要求添入基本信息,如果用戶(hù)填錯(cuò)或沒(méi)填,提示錯(cuò)誤信息(如不能添加已經(jīng)注冊(cè)的學(xué)號(hào)

63、)。填寫(xiě)完整后,點(diǎn)擊“添加”按鈕,將填入的信息加入到數(shù)據(jù)庫(kù)的BaseInf表中。“添加”按鈕的事件處理方法代碼如下:</p><p>  public void actionPerformed(ActionEvent e) {</p><p><b>  try {</b></p><p>  String strurl ="jdbc

64、:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb";</p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  Connection conn = DriverManager.getConnection(str

65、url);</p><p>  Statement stmt = conn.createStatement();</p><p>  ResultSet rs = stmt.executeQuery("select 學(xué)號(hào) from BaseInf where 學(xué)號(hào)='" +textField1.getText() + "'");<

66、;/p><p>  if (rs.next()) {</p><p>  JOptionPane.showMessageDialog(null, "此學(xué)號(hào)已經(jīng)被注冊(cè).", "警告", JOptionPane.WARNING_MESSAGE);</p><p><b>  return;</b></p&g

67、t;<p><b>  }</b></p><p>  stmt.execute("insert into BaseInf (學(xué)號(hào),系別,專(zhuān)業(yè),姓名,性別,出年日期,籍貫,政治面貌,備注) values ('" + textField1.getText() + "','" + choice3.getSelected

68、Item() + "','"+</p><p>  textField5.getText() + "','"+textField2.getText() + "','" + choice1.getSelectedItem() + "','" + textField3.get

69、Text() + "','"+</p><p>  textField4.getText() + "','" + choice2.getSelectedItem() + "','" +</p><p>  textArea1.getText() + "')"

70、;);</p><p>  textField1.setText("");</p><p>  textField2.setText("");</p><p>  textField3.setText("");</p><p>  textField4.setText("&

71、quot;);</p><p>  textField5.setText("");</p><p>  textArea1.setText("");</p><p>  JOptionPane.showMessageDialog(null, "添加信息成功!");</p><p>&

72、lt;b>  }</b></p><p>  catch (Exception eg) {</p><p>  JOptionPane.showMessageDialog(null,"請(qǐng)認(rèn)真檢查各項(xiàng)(不能為空),\n日期要合法!然后重試.", "異常警告", JOptionPane.WARNING_MESSAGE);</p&g

73、t;<p>  eg.printStackTrace();</p><p><b>  } </b></p><p><b>  }</b></p><p>  (2)“退出添加”按鈕的事件處理方法代碼。</p><p>  單擊“退出添加”按鈕之后,返回到主界面?!巴顺鎏砑印卑粹o的事

74、件處理方法代碼如下:</p><p>  public void button3_actionPerformed(ActionEvent e) {</p><p>  this.hide(); </p><p><b>  }</b></p><p>  (3)“成績(jī)錄入”按鈕的事件處理方法代碼。</p>

75、<p>  單擊“成績(jī)錄入”按鈕之后出現(xiàn)學(xué)生成績(jī)錄入界面,“成績(jī)錄入”按鈕的事件處理方法代碼如下:</p><p>  public void button2_actionPerformed(ActionEvent actionEvent) {</p><p>  Addscore Addscore1=new Addscore();</p><p>  A

76、ddscore1.pack();</p><p>  Addscore1.setVisible(true);</p><p><b>  }</b></p><p>  4.4 學(xué)生成績(jī)錄入界面的設(shè)計(jì)</p><p>  Addscore類(lèi)是學(xué)生成績(jī)錄入界面,由學(xué)生的成績(jī)信息、“增加”按鈕和“退出查詢(xún)”按鈕所構(gòu)成。&l

77、t;/p><p>  (1) “增加”按鈕的事件處理方法代碼。</p><p>  按照要求添入學(xué)生的成績(jī)信息,如果用戶(hù)填錯(cuò)或沒(méi)填,提示錯(cuò)誤信息(如不能添加已經(jīng)注冊(cè)的學(xué)號(hào))。填寫(xiě)完整后,點(diǎn)擊“增加”按鈕,將填入的信息加入到數(shù)據(jù)庫(kù)的score表中?!霸黾印卑粹o的事件處理方法代碼如下:</p><p>  public void button2_actionPerforme

78、d(ActionEvent e) {</p><p><b>  try {</b></p><p>  String strurl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb";</p><p>  Class.forName(&

79、quot;sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  Connection conn = DriverManager.getConnection(strurl);</p><p>  Statement stmt = conn.createStatement();</p><p>  ResultSet rs = s

80、tmt.executeQuery("select 學(xué)號(hào) from score where 學(xué)號(hào)='" + textField8.getText() + "'"); </p><p>  if (rs.next()) {</p><p>  JOptionPa

81、ne.showMessageDialog(null, "此學(xué)號(hào)成績(jī)已經(jīng)被錄入.", "警告", JOptionPane.WARNING_MESSAGE);</p><p><b>  return;</b></p><p><b>

82、;  }</b></p><p>  stmt.execute("insert into score (學(xué)號(hào),姓名,英語(yǔ),高等數(shù)學(xué),計(jì)算機(jī)應(yīng)用,政治,計(jì)算機(jī)網(wǎng)絡(luò),JAVA,C) values ('" +</p><p>  textField8.getText() + "','" + textField9.getT

83、ext() + "','" +</p><p>  textField1.getText() + "','" + textField2.getText() + "','" +</p><p>  textField3.getText() + "','&quo

84、t; + textField4.getText() + "','" +</p><p>  textField5.getText() + "','" + textField6.getText() + "','" +</p><p>  textField7.getText() + &

85、quot;')");</p><p>  textField1.setText("");</p><p>  textField2.setText("");</p><p>  textField3.setText("");</p><p>  textField4

86、.setText("");</p><p>  textField5.setText("");</p><p>  textField6.setText("");</p><p>  textField7.setText("");</p><p>  textFi

87、eld8.setText("");</p><p>  textField9.setText("");</p><p>  JOptionPane.showMessageDialog(null, "成績(jī)錄入成功!");</p><p><b>  }</b></p>&l

88、t;p>  catch (Exception eg) {</p><p>  JOptionPane.showMessageDialog(null, "請(qǐng)認(rèn)真檢查各項(xiàng),\n然后重試.", "異常警告", JOptionPane.WARNING_MESSAGE);</p><p>  e

89、g.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  (2) “退出”按鈕的事件處理方法代碼。</p><p>  單擊“退出”按鈕之后,返回到添加學(xué)生信息界面?!巴顺觥卑粹o的事件處理方法代碼如下:</p&

90、gt;<p>  public void button1_actionPerformed(ActionEvent e) {</p><p>  this.hide();</p><p><b>  }</b></p><p>  4.5 修改學(xué)生信息界面的設(shè)計(jì)</p><p>  ChangeInf類(lèi)是修

91、改學(xué)生信息界面,該界面需要先輸入要修改信息的學(xué)生的學(xué)號(hào)然后單擊“下一步”,該界面由學(xué)生的基本信息、“修改”按鈕、“退出修改”按鈕和“修改成績(jī)”按鈕所構(gòu)成。</p><p>  (1)“下一步” 按鈕的事件處理方法代碼</p><p>  按照提示輸入要修改信息的學(xué)生學(xué)號(hào),點(diǎn)擊“下一步”(如果數(shù)據(jù)庫(kù)無(wú)此學(xué)號(hào),則提示“無(wú)此對(duì)應(yīng)信息”),從數(shù)據(jù)庫(kù)中將該學(xué)生的完整信息讀出?!跋乱徊健?按鈕的事件處

92、理方法代碼如下:</p><p>  if (e.getSource() == button2) {</p><p><b>  try {</b></p><p>  rs = stmt.executeQuery("SELECT * FROM BaseInf where 學(xué)號(hào)='" +textField6.getT

93、ext() + "'");</p><p>  if (rs.next()) {</p><p>  textField6.setVisible(false);</p><p>  button2.setVisible(false);</p><p>  label10.setVisible(false);<

94、/p><p>  label1.setVisible(true);</p><p>  label2.setVisible(true);</p><p>  label3.setVisible(true);</p><p>  label4.setVisible(true);</p><p>  label5.setVis

95、ible(true);</p><p>  label6.setVisible(true);</p><p>  label7.setVisible(true);</p><p>  label8.setVisible(true);</p><p>  label9.setVisible(true);</p><p>

96、  textArea1.setVisible(true);</p><p>  textArea1.setText(rs.getString("備注"));</p><p>  textField1.setVisible(true);</p><p>  textField1.enable(false);</p><p>

97、  textField1.setText(rs.getString("學(xué)號(hào)"));</p><p>  textField2.setVisible(true);</p><p>  textField2.setText(rs.getString("姓名"));</p><p>  textField3.setVisible(t

98、rue);</p><p>  textField3.setText(rs.getString("出年日期"));</p><p>  textField4.setVisible(true);</p><p>  textField4.setText(rs.getString("籍貫"));</p><p&

99、gt;  textField5.setVisible(true);</p><p>  textField5.setText(rs.getString("專(zhuān)業(yè)"));</p><p>  choice1.setVisible(true);</p><p>  choice1.select(rs.getString("性別"))

100、;</p><p>  choice2.setVisible(true);</p><p>  choice2.select(rs.getString("政治面貌"));</p><p>  choice3.setVisible(true);</p><p>  choice3.select(rs.getString(&q

101、uot;系別"));</p><p>  button1.setVisible(true);</p><p>  button3.setVisible(true);</p><p>  button4.setVisible(true);</p><p><b>  }</b></p><p&

102、gt;<b>  else</b></p><p>  JOptionPane.showMessageDialog(null, "無(wú)此學(xué)號(hào)對(duì)應(yīng)信息", "警告",JOptionPane.WARNING_MESSAGE);</p><p><b>  }</b></p><p>  c

103、atch (Exception eg) {</p><p>  eg.printStackTrace();</p><p><b>  } </b></p><p><b>  }</b></p><p>  (2)“修改” 按鈕的事件處理方法代碼</p><p>  用戶(hù)修

104、改完基本信息之后點(diǎn)擊“修改”即可。注意:為了防止意外,修改學(xué)生信息時(shí),程序禁止了對(duì)學(xué)號(hào)的修改。(為了程序設(shè)計(jì)方便和代碼重用,修改信息的代碼是先刪此該生所有信息,再將修改后的信息全部添加到數(shù)據(jù)庫(kù),這也是數(shù)據(jù)庫(kù)修改的原理)。“修改” 按鈕的事件處理方法代碼如下:</p><p>  else if (e.getSource() == button1) {</p><p><b>  

105、try {</b></p><p>  stmt.execute("DELETE * FROM BaseInf where 學(xué)號(hào)='" + textField1.getText() +"'");</p><p>  stmt.execute(</p><p>  "insert into

106、BaseInf (學(xué)號(hào),系別,專(zhuān)業(yè),姓名,性別,出年日期,籍貫,政治面貌,備注) values ('" +textField1.getText() + "','" + choice3.getSelectedItem() + "','" +textField5.getText() + "','" + textFie

107、ld2.getText() + "','" +choice1.getSelectedItem() + "','" + textField3.getText() + "','" +textField4.getText() + "','" + choice2.getSelectedItem() +

108、"','" +textArea1.getText() + "')");</p><p>  JOptionPane.showMessageDialog(null, "修改信息成功!");</p><p><b>  }</b></p><p>  catch (

109、Exception eg) {</p><p>  JOptionPane.showMessageDialog(null, "請(qǐng)認(rèn)真檢查各項(xiàng)(不能為空),\n日期要合法!然后重試.","異常警告", JOptionPane.WARNING_MESSAGE);</p><p>  eg.printStackTrace();</p><

110、;p><b>  }</b></p><p><b>  }</b></p><p>  (3)“修改成績(jī)” 按鈕的事件處理方法代碼</p><p>  單擊“修改成績(jī)”按鈕之后出現(xiàn)修改學(xué)生成績(jī)界面?!靶薷某煽?jī)” 按鈕的事件處理方法代碼如下:</p><p>  public void but

111、ton3_actionPerformed(ActionEvent e) {</p><p>  Changescore Changescore1=new Changescore();</p><p>  Changescore1.pack();</p><p>  Changescore1.setVisible(true);</p><p>

112、<b>  }</b></p><p>  (4) “退出修改” 按鈕的事件處理方法代碼</p><p>  單擊“退出修改”按鈕之后,返回到主界面?!巴顺鲂薷摹?按鈕的事件處理方法代碼如下:</p><p>  public void button4_actionPerformed(ActionEvent e) {</p>&l

113、t;p>  this.hide();</p><p><b>  }</b></p><p>  4.6 修改學(xué)生成績(jī)界面的設(shè)計(jì)</p><p>  Changescore類(lèi)是修改學(xué)生成績(jī)界面,由學(xué)生成績(jī)信息、“查詢(xún)”按鈕、“修改”按鈕和“退出修改”所構(gòu)成。</p><p>  (1) “查詢(xún)”按鈕的事件處理方法

114、代碼</p><p>  按照提示輸入要修改成績(jī)信息的學(xué)生學(xué)號(hào),點(diǎn)擊“查詢(xún)”(如果數(shù)據(jù)庫(kù)無(wú)此學(xué)號(hào),則提示“無(wú)此對(duì)應(yīng)信息”),從數(shù)據(jù)庫(kù)中將該學(xué)生的完整信息讀出?!安樵?xún)” 按鈕的事件處理方法代碼如下:</p><p>  public void button2_actionPerformed(ActionEvent e) {</p><p>  if (e.getSou

115、rce() == button2) {</p><p><b>  try {</b></p><p>  rs = stmt.executeQuery("SELECT * FROM score where 學(xué)號(hào)='" + textField8.getText() + "'");</p><p

116、>  if (rs.next()) {</p><p>  textField8.enable(false);</p><p>  textField8.setText(rs.getString("學(xué)號(hào)"));</p><p>  textField9.setText(rs.getString("姓名"));</p

117、><p>  textField1.setText(Integer.toString(rs.getInt("英語(yǔ)")));</p><p>  textField2.setText(Integer.toString(rs.getInt("高等數(shù)學(xué)")));</p><p>  textField3.setText(Integer.

118、toString(rs.getInt("計(jì)算機(jī)應(yīng)用")));</p><p>  textField4.setText(Integer.toString(rs.getInt("政治")));</p><p>  textField5.setText(Integer.toString(rs.getInt("計(jì)算機(jī)網(wǎng)絡(luò)")));<

119、;/p><p>  textField6.setText(Integer.toString(rs.getInt("JAVA")));</p><p>  textField7.setText(Integer.toString(rs.getInt("C")));</p><p><b>  }</b></

120、p><p><b>  else</b></p><p>  JOptionPane.showMessageDialog(null, "無(wú)此學(xué)號(hào)對(duì)應(yīng)信息", "警告", JOptionPane.WARNING_MESSAGE);</p

121、><p><b>  }</b></p><p>  catch (Exception eg) {</p><p>  eg.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p&g

122、t;<p><b>  }</b></p><p>  (2) “修改”按鈕的事件處理方法代碼</p><p>  用戶(hù)修改完成績(jī)信息之后點(diǎn)擊“修改”即可。注意:為了防止意外,修改學(xué)生信息時(shí),程序禁止了對(duì)學(xué)號(hào)的修改。(為了程序設(shè)計(jì)方便和代碼重用,修改信息的代碼是先刪此該生所有信息,再將修改后的信息全部添加到數(shù)據(jù)庫(kù),這也是數(shù)據(jù)庫(kù)修改的原理)?!靶薷摹?按鈕

123、的事件處理方法代碼如下:</p><p>  public void button3_actionPerformed(ActionEvent e) {</p><p>  if (e.getSource() == button3) {</p><p><b>  try {</b></p><p>  stmt.exec

124、ute("DELETE * FROM score where 學(xué)號(hào)='" + textField8.getText() +"'");</p><p>  stmt.execute("insert into score (學(xué)號(hào),姓名,英語(yǔ),高等數(shù)學(xué),計(jì)算機(jī)應(yīng)用,政治,計(jì)算機(jī)網(wǎng)絡(luò),JAVA,C) values ('" +</p&

125、gt;<p>  textField8.getText() + "','" + textField9.getText() + "','" +</p><p>  textField1.getText() + "','" + textField2.getText() + "',

溫馨提示

  • 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ù)僅提供信息存儲(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)論