基于java的學(xué)生信息管理系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)分析_第1頁(yè)
基于java的學(xué)生信息管理系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)分析_第2頁(yè)
基于java的學(xué)生信息管理系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)分析_第3頁(yè)
基于java的學(xué)生信息管理系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)分析_第4頁(yè)
基于java的學(xué)生信息管理系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)分析_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-. z基于java的學(xué)生信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)基于java的學(xué)生信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 摘要:利用計(jì)算機(jī)進(jìn)展學(xué)生信息管理,不僅能夠保證準(zhǔn)確、無誤、快速輸出,而且還可以利用計(jì)算機(jī)對(duì)有關(guān)信息進(jìn)展查詢,檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、性好。本設(shè)計(jì)就是一個(gè)為實(shí)現(xiàn)信息化管理而開發(fā)的信息管理系統(tǒng),能夠進(jìn)展信息存儲(chǔ)、查詢、修改等能功。該系統(tǒng)由六個(gè)模塊構(gòu)成,包括學(xué)生管理系統(tǒng)的主界面模塊、學(xué)生信息管理模塊、課程信息管理模塊、成績(jī)信息管理模塊、信息查詢模塊和數(shù)據(jù)庫(kù)操作模塊。通過這些模塊的有機(jī)結(jié)合,能方便的對(duì)學(xué)生信息進(jìn)展綜合管理,從而實(shí)現(xiàn)了信息化管理的目的。由于本人的能力有限,設(shè)計(jì)過程中難免有缺乏之處,設(shè)

2、計(jì)中的存在問題本人將在日后進(jìn)一步修改,以便讓程序的設(shè)計(jì)更加完善。 關(guān)鍵詞:oracle;異常處理;關(guān)系模型目錄 TOC o 1-3 h z u HYPERLINK l _Toc2962896641 引 言 PAGEREF _Toc296289664 h 1HYPERLINK l _Toc2962896651.1背景及意義 PAGEREF _Toc296289665 h 1HYPERLINK l _Toc2962896661.2 實(shí)驗(yàn)技術(shù)選擇 PAGEREF _Toc296289666 h 1HYPERLINK l _Toc2962896671.3 課題實(shí)現(xiàn)技術(shù)的簡(jiǎn)要說明 PAGEREF _To

3、c296289667 h 5HYPERLINK l _Toc2962896681.4可行性分析 PAGEREF _Toc296289668 h 6HYPERLINK l _Toc2962896692系統(tǒng)需求分析 PAGEREF _Toc296289669 h 6HYPERLINK l _Toc2962896703 學(xué)生信息管理系統(tǒng)設(shè)計(jì) PAGEREF _Toc296289670 h 7HYPERLINK l _Toc2962896713.1數(shù)據(jù)模型分析與設(shè)計(jì) PAGEREF _Toc296289671 h 8HYPERLINK l _Toc2962896723.2 構(gòu)造設(shè)計(jì)與構(gòu)造功能圖 PAG

4、EREF _Toc296289672 h 10HYPERLINK l _Toc2962896733.2.1 構(gòu)造設(shè)計(jì) PAGEREF _Toc296289673 h 10HYPERLINK l _Toc2962896743.2.2 功能構(gòu)造圖 PAGEREF _Toc296289674 h 10HYPERLINK l _Toc2962896754 系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc296289675 h 12HYPERLINK l _Toc2962896765 系統(tǒng)調(diào)試與測(cè)試 PAGEREF _Toc296289676 h 17HYPERLINK l _Toc2962896775.1系統(tǒng)功能測(cè)

5、試 PAGEREF _Toc296289677 h 17HYPERLINK l _Toc2962896785.2系統(tǒng)調(diào)試常見錯(cuò)誤 PAGEREF _Toc296289678 h 17HYPERLINK l _Toc2962896796 實(shí)驗(yàn)小結(jié) PAGEREF _Toc296289679 h 19HYPERLINK l _Toc296289680參考文獻(xiàn) PAGEREF _Toc296289680 h 191 引 言1.1背景及意義學(xué)生信息管理系統(tǒng)是一個(gè)教育單位不可缺少的局部。一個(gè)功能齊全、簡(jiǎn)單易用的信息管理系統(tǒng)不但能有效地減輕學(xué)校相關(guān)工作人員的工作負(fù)擔(dān),它的容對(duì)于學(xué)校的決策者和管理者來說都至

6、關(guān)重要。所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠砣藗兪褂脗鹘y(tǒng)人工的方式管理文件檔案、統(tǒng)計(jì)和查詢數(shù)據(jù),這種管理方式存在著許多缺點(diǎn),如:效率低、性差、人工的大量浪費(fèi);另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一局部,使用計(jì)算機(jī)對(duì)學(xué)校的各類信息進(jìn)展管理,具有手工管理無法比較的優(yōu)點(diǎn)。例如:檢索迅速、查詢方便、效率高、可靠性好、存儲(chǔ)量大、性好、壽命長(zhǎng)、本錢低等。利用計(jì)算機(jī)進(jìn)展學(xué)生信息管理,不僅能

7、夠保證準(zhǔn)確、無誤、快速輸出,而且還可以利用計(jì)算機(jī)對(duì)有關(guān)信息進(jìn)展查詢,檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、性好。要科學(xué)地實(shí)現(xiàn)信息化管理,開發(fā)一個(gè)適合學(xué)校的,能夠進(jìn)展信息存儲(chǔ)、查詢、修改等功能的信息管理系統(tǒng)是十分重要的。這些優(yōu)點(diǎn)能夠極提高學(xué)校信息管理的效率,也是一個(gè)單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 本系統(tǒng)是將現(xiàn)代化的計(jì)算機(jī)技術(shù)和傳統(tǒng)的教學(xué)、教務(wù)工作相結(jié)合,按照學(xué)院的工作流 程設(shè)計(jì)完成的。通過一個(gè)簡(jiǎn)化的學(xué)生信息管理系統(tǒng),使學(xué)生信息管理工作系統(tǒng)化、規(guī)化、自動(dòng)化,從而到達(dá)提高學(xué)生信息管理效率的目的。本課題就是針對(duì)便于學(xué)生信息管理的問題而設(shè)計(jì)的一個(gè)管理系統(tǒng)。1.2 實(shí)驗(yàn)技術(shù)選擇 本課題設(shè)

8、計(jì)主要運(yùn)用的技術(shù)有兩個(gè):java工程開發(fā)和oracle對(duì)數(shù)據(jù)庫(kù)的操作。這里主要介紹本課題為什么選用這兩個(gè)開發(fā)技術(shù):首先了解一下Java語(yǔ)言特點(diǎn) Java是一種跨平臺(tái),適合于分布式計(jì)算環(huán)境的面向?qū)ο缶幊陶Z(yǔ)言。具體來說,它具有如下特性: 簡(jiǎn)單性、面向?qū)ο蟆⒎植际?、解釋型、可靠、平安、平臺(tái)無關(guān)、可移植、高性能、多線程、動(dòng)態(tài)性等。 下面我們將重點(diǎn)介紹Java語(yǔ)言的面向?qū)ο?、平臺(tái)無關(guān)、分布式、多線程、可靠和平安等特性。 面向?qū)ο?面向?qū)ο笃鋵?shí)是現(xiàn)實(shí)世界模型的自然延伸。現(xiàn)實(shí)世界中任何實(shí)體都可以看作是對(duì)象。對(duì)象之間通過消息相互作用。另外,現(xiàn)實(shí)世界中任何實(shí)體都可歸屬于*類事物,任何對(duì)象都是*一類事物的實(shí)例。如

9、果說傳統(tǒng)的過程式編程語(yǔ)言是以過程為中心以算法為驅(qū)動(dòng)的話,面向?qū)ο蟮木幊陶Z(yǔ)言則是以對(duì)象為中心以消息為驅(qū)動(dòng)。用公式表示,過程式編程語(yǔ)言為:程序=算法+數(shù)據(jù);面向?qū)ο缶幊陶Z(yǔ)言為:程序=對(duì)象+消息。 所有面向?qū)ο缶幊陶Z(yǔ)言都支持三個(gè)概念:封裝、多態(tài)性和繼承,Java也不例外?,F(xiàn)實(shí)世界中的對(duì)象均有屬性和行為,映射到計(jì)算機(jī)程序上,屬性則表示對(duì)象的數(shù)據(jù),行為表示對(duì)象的方法其作用是處理數(shù)據(jù)或同外界交互。所謂封裝,就是用一個(gè)自主式框架把對(duì)象的數(shù)據(jù)和方法聯(lián)在一起形成一個(gè)整體??梢哉f,對(duì)象是支持封裝的手段,是封裝的根本單位。Java語(yǔ)言的封裝性較強(qiáng),因?yàn)镴ava無全程變量,無主函數(shù),在Java中絕大局部成員是對(duì)象,只

10、有簡(jiǎn)單的數(shù)字類型、字符類型和布爾類型除外。而對(duì)于這些類型,Java也提供了相應(yīng)的對(duì)象類型以便與其他對(duì)象交互操作。 多態(tài)性就是多種表現(xiàn)形式,具體來說,可以用一個(gè)對(duì)外接口,多個(gè)在實(shí)現(xiàn)方法表示。舉一個(gè)例子,計(jì)算機(jī)中的堆??梢源鎯?chǔ)各種格式的數(shù)據(jù),包括整型,浮點(diǎn)或字符。不管存儲(chǔ)的是何種數(shù)據(jù),堆棧的算法實(shí)現(xiàn)是一樣的。針對(duì)不同的數(shù)據(jù)類型,編程人員不必手工選擇,只需使用統(tǒng)一接口名,系統(tǒng)可自動(dòng)選擇。運(yùn)算符重載operatoroverload)一直被認(rèn)為是一種優(yōu)秀的多態(tài)機(jī)制表達(dá),但由于考慮到它會(huì)使程序變得難以理解,所以Java最后還是把它取消了。 繼承是指一個(gè)對(duì)象直接使用另一對(duì)象的屬性和方法。事實(shí)上,我們遇到的很

11、多實(shí)體都有繼承的含義。例如,假設(shè)把汽車看成一個(gè)實(shí)體,它可以分成多個(gè)子實(shí)體,如:卡車、公共汽車等。這些子實(shí)體都具有汽車的特性,因此,汽車是它們的父親,而這些子實(shí)體則是汽車的孩子。Java提供應(yīng)用戶一系列類class,Java的類有層次構(gòu)造,子類可以繼承父類的屬性和方法。與另外一些面向?qū)ο缶幊陶Z(yǔ)言不同,Java只支持單一繼承。 平臺(tái)無關(guān)性 Java是平臺(tái)無關(guān)的語(yǔ)言是指用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺(tái)上運(yùn)行。平臺(tái)無關(guān)有兩種:源代碼級(jí)和目標(biāo)代碼級(jí)。C和C+具有一定程度的源代碼級(jí)平臺(tái)無關(guān),說明用C或C+寫的應(yīng)用程序不用修改只需重新編譯就可以在不同平臺(tái)上運(yùn)行。Java主要靠Java虛擬

12、機(jī)JVM在目標(biāo)碼級(jí)實(shí)現(xiàn)平臺(tái)無關(guān)性。JVM是一種抽象機(jī)器,它附著在具體操作系統(tǒng)之上,本身具有一套虛機(jī)器指令,并有自己的棧、存放器組等。但JVM通常是在軟件上而不是在硬件上實(shí)現(xiàn)。目前,SUN系統(tǒng)公司已經(jīng)設(shè)計(jì)實(shí)現(xiàn)了Java芯片,主要使用在網(wǎng)絡(luò)計(jì)算機(jī)NC上。 另外,Java芯片的出現(xiàn)也會(huì)使Java更容易嵌入到家用電器中。JVM是Java平臺(tái)無關(guān)的根底,在JVM上,有一個(gè)Java解釋器用來解釋Java編譯器編譯后的程序。Java編程人員在編寫完程序后,通過Java編譯器將Java源程序編譯為JVM的字節(jié)代碼。任何一臺(tái)機(jī)器只要配備了Java解釋器,就可以運(yùn)行這個(gè)程序,而不管這種字節(jié)碼是在何種平臺(tái)上生成的。

13、另外,Java采用的是基于IEEE標(biāo)準(zhǔn)的數(shù)據(jù)類型。通過JVM保證數(shù)據(jù)類型的一致性,也確保了Java的平臺(tái)無關(guān)性。 Java的平臺(tái)無關(guān)性具有深遠(yuǎn)意義。首先,它使得編程人員所夢(mèng)寐以求的事情開發(fā)一次軟件在任意平臺(tái)上運(yùn)行變成事實(shí),這將大大加快和促進(jìn)軟件產(chǎn)品的開發(fā)。其次Java的平臺(tái)無關(guān)性正好迎合了網(wǎng)絡(luò)計(jì)算機(jī)思想。如果大量常用的應(yīng)用軟件如字處理軟件等都用Java重新編寫,并且放在*個(gè)Internet效勞器上,則具有NC的用戶將不需要占用大量空間安裝軟件,他們只需要一個(gè)Java解釋器,每當(dāng)需要使用*種應(yīng)用軟件時(shí),下載該軟件的字節(jié)代碼即可,運(yùn)行結(jié)果也可以發(fā)回效勞器。目前,已有數(shù)家公司開場(chǎng)使用這種新型的計(jì)算模

14、式構(gòu)筑自己的企業(yè)信息系統(tǒng)。 分布式分布式包括數(shù)據(jù)分布和操作分布。數(shù)據(jù)分布是指數(shù)據(jù)可以分散在網(wǎng)絡(luò)的不同主機(jī)上,操作分布是指把一個(gè)計(jì)算分散在不同主機(jī)上處理。 Java支持客戶機(jī)/效勞器計(jì)算模式,因此,它支持這兩種分布性。對(duì)于前者,Java提供了一個(gè)叫作URL的對(duì)象,利用這個(gè)對(duì)象,你可以翻開并具有一樣URL地址上的對(duì)象,方式與本地文件系統(tǒng)一樣。對(duì)于后者,Java的applet小程序可以從效勞器下載到客戶端,即局部計(jì)算在客戶端進(jìn)展,提高系統(tǒng)執(zhí)行效率。 Java提供了一整套網(wǎng)絡(luò)類庫(kù),開發(fā)人員可以利用類庫(kù)進(jìn)展網(wǎng)絡(luò)程序設(shè)計(jì),方便得實(shí)現(xiàn)Java的分布式特性。 可靠性和平安性Java最初設(shè)計(jì)目的是應(yīng)用于電子類消

15、費(fèi)產(chǎn)品,因此要求較高的可靠性。Java雖然源于C+,但它消除了許多C+不可靠因素,可以防止許多編程錯(cuò)誤。首先,Java是強(qiáng)類型的語(yǔ)言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯(cuò)誤,保證程序更加可靠;其次,Java不支持指針,這杜絕了存的非法;第三,Java的自動(dòng)單元收集防止了存喪失等動(dòng)態(tài)存分配導(dǎo)致的問題;第四,Java解釋器運(yùn)行時(shí)實(shí)施檢查,可以發(fā)現(xiàn)數(shù)組和字符串的越界,最后,Java提供了異常處理機(jī)制,程序員可以把一組錯(cuò)誤代碼放在一個(gè)地方,這樣可以簡(jiǎn)化錯(cuò)誤處理任務(wù)便于恢復(fù)。 由于Java主要用于網(wǎng)絡(luò)應(yīng)用程序開發(fā),因此對(duì)平安性有較高的要求。如果沒有平安保證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危

16、險(xiǎn)。Java通過自己的平安機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。當(dāng)Java字節(jié)碼進(jìn)入解釋器時(shí),首先必須經(jīng)過字節(jié)碼校驗(yàn)器的檢查,然后,Java解釋器將決定程序中類的存布局,隨后,類裝載器負(fù)責(zé)把來自網(wǎng)絡(luò)的類裝載到單獨(dú)的存區(qū)域,防止應(yīng)用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡(luò)上裝載的類只能*些文件系統(tǒng)。 上述幾種機(jī)制結(jié)合起來,使得Java成為平安的編程語(yǔ)言。 多線程線程是操作系統(tǒng)的一種新概念,它又被稱作輕量進(jìn)程,是比傳統(tǒng)進(jìn)程更小的可并發(fā)執(zhí)行的單位。 C和C+采用單線程體系構(gòu)造,而Java卻提供了多線程支持。Java在兩方面支持多線程。一方面,Java環(huán)境本身就是多線程

17、的。假設(shè)干個(gè)系統(tǒng)線程運(yùn)行負(fù)責(zé)必要的無用單元回收,系統(tǒng)維護(hù)等系統(tǒng)級(jí)操作;另一方面,Java語(yǔ)言置多線程控制,可以大大簡(jiǎn)化多線程應(yīng)用程序開發(fā)。Java提供了一個(gè)類Thread,由它負(fù)責(zé)啟動(dòng)運(yùn)行,終止線程,并可檢查線程狀態(tài)。Java的線程還包括一組同步原語(yǔ)。這些原語(yǔ)負(fù)責(zé)對(duì)線程實(shí)行并發(fā)控制。利用Java的多線程編程接口,開發(fā)人員可以方便得寫出支持多線程的應(yīng)用程序,提高程序執(zhí)行效率。必須注意地是,Java的多線程支持在一定程度上受運(yùn)行時(shí)支持平臺(tái)的限制。例如,如果操作系統(tǒng)本身不支持多線程,Java的多線程特性可能就表現(xiàn)不出來。 oracle數(shù)據(jù)庫(kù)的特點(diǎn)無式要求,可根據(jù)實(shí)際系統(tǒng)需求構(gòu)造數(shù)據(jù)庫(kù)。 采用標(biāo)準(zhǔn)的S

18、QL構(gòu)造化查詢語(yǔ)言。具有豐富的開發(fā)工具,覆蓋開發(fā)周期的各階段。支持大型數(shù)據(jù)庫(kù),數(shù)據(jù)類型支持?jǐn)?shù)字、字符、大至4GB的二進(jìn)制數(shù)據(jù),為數(shù)據(jù)庫(kù)的面向存儲(chǔ)提供數(shù)據(jù)支持。具有第四代語(yǔ)言的開發(fā)工具SQL*formS、SQL*REPORTS、SQL*MENU等。具有字符界面和圖形界面,易于開發(fā)。通過SQL*DBA控制用戶權(quán)限,提供數(shù)據(jù)保護(hù)功能,監(jiān)控?cái)?shù)據(jù)庫(kù)的 運(yùn)行狀態(tài),調(diào)整數(shù)據(jù)緩沖區(qū)的大小。 分布優(yōu)化查詢功能。具有數(shù)據(jù)透明、網(wǎng)絡(luò)透明,支持異種網(wǎng)絡(luò)、異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)。并行 處理采用動(dòng)態(tài)數(shù)據(jù)分片技術(shù)。支持客戶機(jī)/效勞器體系構(gòu)造及混合的體系構(gòu)造集中式、分布式、 客戶機(jī)/效勞器。實(shí)現(xiàn)了兩階段提交、多線索查詢手段。 支持多

19、種系統(tǒng)平臺(tái)HPU*、SUNOS、OSF/1、VMS、 WINDOWS、WINDOWS/NT、OS/2。數(shù)據(jù)平安保護(hù)措施:沒有讀鎖,采取快照SNAP方式完全消除了分布讀寫沖突。自動(dòng)檢測(cè)死鎖和沖突并解決。 數(shù)據(jù)平安級(jí)別為C2級(jí)最高級(jí)。 數(shù)據(jù)庫(kù)模支持多字節(jié)碼制,支持多種語(yǔ)言文字編碼。具有面向制造系統(tǒng)的管理信息系統(tǒng)和財(cái)務(wù)系統(tǒng)應(yīng)用系統(tǒng)。綜上所述,選擇java作為開發(fā)語(yǔ)言,oracle作為數(shù)據(jù)庫(kù)開發(fā)工具是個(gè)不錯(cuò)的選擇。java語(yǔ)言的面向?qū)ο?、平臺(tái)無關(guān)、分布式、多線程、可靠和平安等特性,使得開發(fā)出來的工程具有強(qiáng)健性、可維護(hù)性、可移植性等特點(diǎn)。Oracle是目前最具權(quán)威的數(shù)據(jù)庫(kù)產(chǎn)品,它具有的兼容性、可移植性、

20、可聯(lián)結(jié)性、高生產(chǎn)率和開放性的特點(diǎn),使它成為當(dāng)今眾多的程序開發(fā)人員首選的數(shù)據(jù)庫(kù)開發(fā)工具。所以本課題選擇java和oracle作為開發(fā)技術(shù)是為今后開發(fā)更復(fù)雜的工程打下根底,以免到時(shí)候遇到相關(guān)的技術(shù)問題而不知所措。1.3 課題實(shí)現(xiàn)技術(shù)的簡(jiǎn)要說明本課題主要運(yùn)用了java圖形編程和oracle數(shù)據(jù)庫(kù)的操作。Java圖形編程給用戶提供了一個(gè)直觀、易于與用戶進(jìn)展交互的圖形界面。在圖形編程中,運(yùn)用了大量的java.swing包中的類,之所以選擇swing包中的類而不選java.awt包中的類,主要是swing包中的類能給用戶提供更好的觀感。oracle數(shù)據(jù)庫(kù)的操作這局部容分成三局部來實(shí)現(xiàn):首先,編寫對(duì)數(shù)據(jù)庫(kù)操

21、作的類,包括:連接數(shù)據(jù)庫(kù)、執(zhí)行sql語(yǔ)句、關(guān)閉數(shù)據(jù)庫(kù)連接等。其次,編寫一個(gè)用于對(duì)學(xué)生信息進(jìn)展數(shù)據(jù)庫(kù)操作的類,包括:學(xué)生信息的增加、修改、刪除和查詢等。最后,編寫一個(gè)用于對(duì)課程相關(guān)信息進(jìn)展數(shù)據(jù)庫(kù)操作的類,包括:對(duì)課程信息的增加、修改、刪除、查詢等等。通過結(jié)合圖形編程和數(shù)據(jù)庫(kù)編程,從而根本上實(shí)現(xiàn)了學(xué)生信息管理的根本功能,由于本人技術(shù)上的缺乏,難免有些地方需要改良,這些存在的問題都將成為本人前進(jìn)的動(dòng)力,并在日后更加完善本課題的設(shè)計(jì)。1.4可行性分析系統(tǒng)的性質(zhì)為管理軟件,因而數(shù)據(jù)庫(kù)的設(shè)計(jì)與操縱是系統(tǒng)設(shè)計(jì)的核心。這里從兩方面分析技術(shù)上的可行性。首先,對(duì)于java編程局部,java課已經(jīng)開過。因此在課題設(shè)

22、計(jì)中,對(duì)java圖形編程方面的問題都能迎韌而解。其次,對(duì)于數(shù)據(jù)庫(kù)的有關(guān)知識(shí),本人運(yùn)用了大量的時(shí)間對(duì)相關(guān)書籍的閱讀以及上機(jī)實(shí)驗(yàn),根本上掌握了運(yùn)用oracle數(shù)據(jù)庫(kù)技術(shù),具備一定的系統(tǒng)分析與設(shè)計(jì)能力,熟悉數(shù)據(jù)庫(kù)的設(shè)計(jì)與操縱;因而該系統(tǒng)的實(shí)現(xiàn)在技術(shù)上是可行的。 2系統(tǒng)需求分析本課題根據(jù)學(xué)生信息管理綜合分析,便出于方便管理考慮,將學(xué)生信息管理系統(tǒng)的功能總結(jié)起來,共需要實(shí)現(xiàn)以下幾個(gè)方面功能:管理學(xué)生信息管理所有學(xué)生的根本信息,對(duì)學(xué)生信息的操作包括添加、修改、刪除等;可以根據(jù)各種條件查詢出需要的信息,比方修改,可以通過學(xué)生*查詢出學(xué)生的根本信息,然后通過對(duì)需要修改項(xiàng)進(jìn)展修改并保存修改后的結(jié)果存入數(shù)據(jù)庫(kù)的學(xué)

23、生表中。管理課程信息管理所有課程的根本信息,包括對(duì)課程信息的添加、修改、刪除等操作;可以根據(jù)各種條件查詢出需要的信息,并對(duì)相應(yīng)的信息進(jìn)展操作。比方修改和刪除,可以通過學(xué)生的*查詢出學(xué)生的相應(yīng)課程信息,對(duì)相應(yīng)的課程進(jìn)展修改、刪除操作。學(xué)生選課與成績(jī)根據(jù)學(xué)生的*進(jìn)展選課,登記所選課程的成績(jī);可以根據(jù)*查詢出選課信息與成績(jī)。通過以上功能的設(shè)計(jì)與實(shí)現(xiàn),并實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的根本功能。3 學(xué)生信息管理系統(tǒng)設(shè)計(jì)3.1數(shù)據(jù)模型分析與設(shè)計(jì)數(shù)據(jù)庫(kù)模型描述了在數(shù)據(jù)庫(kù)中構(gòu)造化和操縱數(shù)據(jù)的方法,模型的構(gòu)造局部規(guī)定了數(shù)據(jù)如何被描述例如樹、表等;模型的操縱局部規(guī)定了數(shù)據(jù)的添加、刪除、顯示、維護(hù)、打印、查找、選擇、排序和

24、更新等操作。數(shù)據(jù)庫(kù)模型的分類:分層模型、關(guān)系模型、網(wǎng)絡(luò)模型和對(duì)象模型。本課題選擇的關(guān)系模型,關(guān)系模型是目前最重要的一種數(shù)據(jù)模型。關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式。關(guān)系數(shù)據(jù)模型具有以下優(yōu)點(diǎn): 關(guān)系模型與非關(guān)系模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的根底上的。 關(guān)系模型的概念單一。無論實(shí)體還是實(shí)體之間的聯(lián)系都用關(guān)系表示。對(duì)數(shù)據(jù)的檢索構(gòu)造也是關(guān)系即表。所以其數(shù)據(jù)構(gòu)造簡(jiǎn)單、清晰,擁護(hù)易懂易用。 關(guān)系模型的存取路徑對(duì)用戶透明,從而具有更高的數(shù)據(jù)獨(dú)立性、更好的平安性,也簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫(kù)開發(fā)建立的工作。所以,關(guān)系數(shù)據(jù)模型誕生以后開展迅速,深受擁護(hù)的喜愛,這也是本課題選取關(guān)系數(shù)據(jù)模型的原因。

25、當(dāng)然,關(guān)系數(shù)據(jù)模型也有缺點(diǎn),其中最主要的缺點(diǎn)是,由于存取路件對(duì)用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。因此為了提高性能,必須對(duì)用戶的查詢請(qǐng)求進(jìn)展優(yōu)化,增加了開發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)的難度。本課題的關(guān)系數(shù)據(jù)模型的數(shù)據(jù)構(gòu)造可分為三個(gè)表來表示:學(xué)生信息表Student、課程信息表Course、學(xué)生選課表SC;學(xué)生信息表用于記錄學(xué)生的根本信息,如表3-1;課程信息表用于記錄課程的根本信息,如表3-2;學(xué)生選課表如下表3-3。這三個(gè)表對(duì)應(yīng)的E-R圖分別是:圖3.1 學(xué)生信息E-R圖;圖3.2 課程信息E-R圖;圖 3.3 學(xué)生選課E-R圖;如以下圖。表3-1 學(xué)生信息表Student名稱數(shù)據(jù)類型主鍵非空*N

26、umber(10)YesYes學(xué)生Varchar2NoYes性別Char(2)NoNo年齡Char(2)NoNo專業(yè)Varchar2NoNo學(xué)院Char(8)NoNo表3-2 課程信息表Course名稱數(shù)據(jù)類型主鍵非空課程編號(hào)Char(4)YesYes課程名稱Varchar2NoYes授課教師Varchar2NoNo上課地點(diǎn)Varchar2NoNo課程類別Char(1)NoNo表3-3 學(xué)生選課表SC名稱數(shù)據(jù)類型主鍵非空*Char(10)YesYes課程編號(hào)Char(4)YesYes成績(jī)Number(4,1)NoNo學(xué)生*學(xué)生*性別專業(yè)年級(jí)出生圖3.1 學(xué)生信息E-R圖課程課程編號(hào)上課地點(diǎn)課程

27、名稱授課教師課程類別圖3.2 課程信息E-R圖選課表*課程編號(hào)成績(jī)圖3.3 學(xué)生選課E-R圖3.2 構(gòu)造設(shè)計(jì)與構(gòu)造功能圖3.2.1 構(gòu)造設(shè)計(jì)根據(jù)對(duì)系統(tǒng)進(jìn)展需求分析,本系統(tǒng)將分為4個(gè)模塊: 學(xué)生管理管理學(xué)生根本信息,包括個(gè)人信息的添加、修改、刪除以及選課信息的添加。課程管理管理課程的根本信息,包括課程信息的添加、修改和刪除。成績(jī)管理管理學(xué)生選課的成績(jī)信息,包括成績(jī)的登記與修改。信息查詢查詢已經(jīng)登記的信息,包括學(xué)生的根本信息、課程的根本信息與成績(jī)信息。3.2.2 功能構(gòu)造圖學(xué)生管理系統(tǒng)功能構(gòu)造如圖3.4所示。學(xué)生管理系統(tǒng)學(xué)生管理課程管理成績(jī)管理信息查詢添加增加刪除學(xué)生查詢?cè)黾诱n程查詢修改修改修改刪

28、除學(xué)生選課成績(jī)查詢按*查詢按*查詢按性別查詢按專業(yè)查詢按學(xué)院查詢按課程名稱查詢查詢所有科目成績(jī)按授課教師查詢圖3.4 學(xué)生管理系統(tǒng)功能構(gòu)造圖4 系統(tǒng)實(shí)現(xiàn)該系統(tǒng)由6個(gè)模塊構(gòu)成,包括學(xué)生管理系統(tǒng)主界面模塊、學(xué)生信息管理模塊、課程信息管理模塊、成績(jī)信息管理模塊、信息查詢模塊和數(shù)據(jù)操作模塊。下面分別加以表達(dá): 學(xué)生管理系統(tǒng)主界面模塊學(xué)生管理系統(tǒng)主界面模塊包括StuMS.java和StuMain.java兩個(gè)文件。StuMS是學(xué)生管理系統(tǒng)的主運(yùn)行類,其中有運(yùn)行整個(gè)程序的main方法,該文件生成了StuMain類的一個(gè)實(shí)例,從而生成了學(xué)生管理系統(tǒng)的界面,如圖4.1所示。StuMain類繼承自JFrame類

29、,實(shí)現(xiàn)了ActionListener接口,他有一個(gè)不帶參數(shù)的構(gòu)造方法StuMain(),用來生成StuMain的實(shí)例。StuMain類將所有功能集中到菜單欄中,并通過調(diào)用其他模塊來實(shí)現(xiàn)學(xué)生管理系統(tǒng)的各個(gè)功能。圖4.1 學(xué)生管理系統(tǒng)主界面 學(xué)生信息管理模塊學(xué)生信息管理模塊主要由StuInfo.java、AddStuInfo.java、EdiStuInfo.java、DelStuInfo.java、SelectCourse.java和StuInfoSearchSnum.java共計(jì)6個(gè)文件組成,其構(gòu)成關(guān)系如圖4.2所示。學(xué)生信息超類StuInfo.java增加學(xué)生信息AddStuInfo.java

30、修改學(xué)生信息EdiStuInfo.java刪除學(xué)生信息DelStuInfo.java學(xué)生選課SelectCourse.java按*查詢StuInfoSearchSnum.java按*查詢StuInfoSearchSnum.java圖4.2 學(xué)生信息管理模塊功能構(gòu)造圖學(xué)生信息管理模塊的6個(gè)文件組成了主界面中的學(xué)生管理菜單的容,其中包括增加、修改、刪除和學(xué)生選課功能,如圖4.3所示。圖4.3 學(xué)生信息管理模塊的運(yùn)行界面 課程信息管理模塊課程信息管理模塊主要由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.ja

31、va、CourseInfoSearchum.java這5個(gè)文件組成,其構(gòu)成關(guān)系如圖4.4所示。課程信息超類CourseInfo.java增加課程信息AddCourseInfo.java修改課程信息EditCourseInfo.java刪除課程信息DelCourseInfo.java按課程號(hào)查詢CourseInfoSearchum.java按課程號(hào)查詢CourseInfoSearchum.java圖4.4 課程信息管理模塊功能構(gòu)造圖課程信息管理模塊中的5個(gè)類文件組成了主界面中課程管理菜單的容,其中包括增加、修改和刪除功能,如圖4.5所示。圖4.5 課程信息管理模塊運(yùn)行界面 成績(jī)信息管理模塊成績(jī)信

32、息管理模塊主要由GradeInfo.java、AddGradeInfo.java、EditGradeInfo.java這3個(gè)文件組成,其構(gòu)成關(guān)系如圖4.6所示。成績(jī)管理超類GradeInfo.java增加成績(jī)信息AddGradeInfo.java修改成績(jī)信息EditGradeInfo.java圖4.6 成績(jī)信息管理模塊功能構(gòu)造圖成績(jī)信息管理模塊中的3個(gè)類文件組成了主界面中的成績(jī)管理菜單的容,其中包括增加和修改功能,如圖4.7所示。圖4.7 成績(jī)信息管理模塊的運(yùn)行界面 信息查詢模塊信息查詢模塊主要包括學(xué)生查詢、課程查詢和成績(jī)查詢3個(gè)局部。信息查詢的運(yùn)行主截面如圖4.8所示。圖4.8 學(xué)生信息查詢

33、模塊的運(yùn)行界面學(xué)生查詢由StuSearchSnum.java、StuSearchSse*.java、StuSearchScollege.java、StuSearchSmajor.java和ResultStudent.java這6個(gè)文件組成,主要實(shí)現(xiàn)功能包括:按*查詢、按學(xué)生查詢、按性別查詢、按學(xué)院查詢與按專業(yè)查詢。5 系統(tǒng)調(diào)試與測(cè)試5.1系統(tǒng)功能測(cè)試功能測(cè)試主要是測(cè)試程序模塊是否實(shí)現(xiàn)了設(shè)計(jì)中所要求的功能。功能測(cè)試中需要注意的有:(1)查詢功能中,有按單一查詢條件進(jìn)展查詢的,也有按多個(gè)查詢條件組合查詢的。這里要注意的多個(gè)查詢條件之間的關(guān)系。還有一些常識(shí)性的問題,比方按月查詢,閏月中二月的天數(shù)。(

34、2)錄入功能中,需要注意的是前臺(tái)設(shè)置的數(shù)值長(zhǎng)度是否大于后臺(tái)數(shù)值長(zhǎng)度,以及前臺(tái)和后臺(tái)的數(shù)據(jù)構(gòu)造是否相符,很多時(shí)候錄入功能無法實(shí)現(xiàn)是由于這些原因。還有就是必須錄入的字段的設(shè)置時(shí)候有誤。(3)測(cè)試刪除功能中需要注意的是單擊刪除按鈕后,一般會(huì)出現(xiàn)提示信息,詢問是否確定刪除。通常情況下,我們單擊確認(rèn)按鈕查看信息是否被刪除掉了,而忽略了單擊取消按鈕后程序的反響:這時(shí)有可能的是沒有刪除,還有一種可能是即便單擊了取消按鈕,也一樣刪除了數(shù)據(jù)。另外,在刪除多條記錄的時(shí)候,要注意連續(xù)選中的幾條記錄是否真正都被刪除掉了,即如果再按照這種查詢方式查詢,時(shí)候還能查詢出來。有的時(shí)候需要在數(shù)據(jù)庫(kù)中設(shè)立一個(gè)標(biāo)志位,而不是真正的

35、物理刪除。所以在下一次查詢中,可能還會(huì)被查詢出來,這主要是因?yàn)樵诓樵儣l件中沒有將標(biāo)志考慮在。(4)關(guān)于修改功能的測(cè)試主要是看修改確認(rèn)后是否數(shù)據(jù)真正已被修改了。這是最根本的功能,需要注意的是看是否能把不應(yīng)該修改的數(shù)據(jù)也修改成功了。 5.2系統(tǒng)調(diào)試常見錯(cuò)誤1.NullPointerE*ception異常一般是對(duì)一個(gè)為NULL值的變量進(jìn)展操作引起的。為防止這種異常,最好在對(duì)變量操作之前檢查,看它是否為NULL值。2.SQLE*ception異常一般是由于SQL語(yǔ)句不正確引起的。為防止這種異常,最好在使用SQL語(yǔ)句的程序中捕獲此SQL異常。3.NumberFormatE*ception異常這是由于數(shù)字

36、的格式錯(cuò)誤而出現(xiàn)的例外。為了防止出現(xiàn)此類錯(cuò)誤,一般必須保證數(shù)據(jù)格式輸入正確。4.數(shù)據(jù)庫(kù)連接垃圾回收在實(shí)際的開發(fā)應(yīng)用中,通常出現(xiàn)*一個(gè)對(duì)象未能關(guān)閉的情況,為了防止這種情況的發(fā)生,可以在有關(guān)對(duì)數(shù)據(jù)庫(kù)操作的Java類文件中增加自動(dòng)回收函數(shù),在JVM自動(dòng)地回收對(duì)象時(shí),取出使用的連接對(duì)象,判斷是否關(guān)閉,如果沒有關(guān)閉則關(guān)掉。代碼如下所示:protected void finalize() try If(getConn()!=null&!getConn().isClosed() rs.cloes(); stm.close(); conn.close(); catch(SQLE*ception e)6 實(shí)驗(yàn)小

37、結(jié)經(jīng)過這次課題的設(shè)計(jì)并實(shí)現(xiàn),盡管會(huì)遇到很多難題,但是讓我更加受益的是在這次課題中得到的經(jīng)歷、心得和鍛煉。我發(fā)現(xiàn)做實(shí)驗(yàn)的過程其實(shí)就是個(gè)不斷的解決問題的過程,從中也感覺到實(shí)驗(yàn)成功的快樂,一個(gè)人永遠(yuǎn)有學(xué)不玩的知識(shí),就算是實(shí)驗(yàn)中的知識(shí)點(diǎn)都學(xué)了,但在實(shí)際的應(yīng)用過程中仍然會(huì)遇到不少問題,遇到問題時(shí)要做到兩點(diǎn):一個(gè)是查,一個(gè)是問。不懂的地方就得要自己找答案,可以從書本、網(wǎng)絡(luò)中查找解決的答案;再一個(gè)就是問周邊的同學(xué)。這次課程的設(shè)計(jì)給我所學(xué)的知識(shí)做了一個(gè)總結(jié),為我深入學(xué)習(xí)編程做了鋪墊。在本課題中存在的缺乏之處是在所難免的,本人將在日后加于改良。參考文獻(xiàn)1 王克宏、郝建文. Java技術(shù)教程 M. :清華大學(xué),2

38、002年9月.2 蔡敏、*慧慧、黃炳強(qiáng). UML根底與Rose建模教程 M. :人民郵電,2006年5月.3 薩師煊、王珊. 數(shù)據(jù)庫(kù)系統(tǒng)概論第三版M. :高等教育,2005年12月. 4齊治昌、譚慶平、寧洪.軟件工程第二版M.:高等教育,2004年,3月. 5周競(jìng)濤、寒.Eclipse完全手冊(cè)M.:電子工業(yè),2006年,8月. 6CayS.Horstmann、GaryCornll.葉乃文等譯.Java核心技術(shù)M:機(jī)械工業(yè),2006年5月. 7蒙祖強(qiáng)、龔濤.Oracle10g數(shù)據(jù)庫(kù)Java開發(fā).:中國(guó)水利水電,2005年6月.附錄代碼/ AddStuInfo.javapackage .main;

39、import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java*.swing.utton;import java*.swing.oBo*;import java*.swing.JFrame;import java*.swing.JLabel;import java*.swing.JTe*tField;import java*.swing.JOptionPane;import .bean.Student;import .dao.Student

40、Dao;import .db.DB;import .main.DelteStudent.delAction;public class AddStuInfo e*tends JFrame StudentDao studao = new StudentDao();DB db = new DB();Connection conn = db.getConnection();JTe*tField snoTe*t = null;JTe*tField snameTe*t = null;oBo* se* = null;JTe*tField ageTe*t = null;oBo* class = null;oB

41、o* depart = null;public void init() / 窗體設(shè)計(jì)this.setLayout(null);this.setTitle(學(xué)生信息管理系統(tǒng));this.setSize(500, 400);JLabel title = new JLabel(學(xué)生信息維護(hù)模塊錄入數(shù)據(jù));title.setBounds(180, 20, 200, 30);this.add(title);JLabel snoLabel = new JLabel(*);snoTe*t = new JTe*tField();snoLabel.setBounds(20, 60, 40, 25);snoTe*

42、t.setBounds(60, 60, 120, 25);this.add(snoLabel);this.add(snoTe*t);JLabel snameLabel = new JLabel();snameTe*t = new JTe*tField();snameLabel.setBounds(220, 60, 40, 25);snameTe*t.setBounds(260, 60, 120, 25);this.add(snameLabel);this.add(snameTe*t);JLabel se*label = new JLabel(性別);String se* = 男, 女 ;se*

43、 = new oBo*(se*);se*label.setBounds(20, 90, 40, 25);se*.setBounds(60, 90, 120, 25);this.add(se*label);this.add(se*);JLabel ageLabel = new JLabel(年齡);ageTe*t = new JTe*tField();ageLabel.setBounds(220, 90, 40, 25);ageTe*t.setBounds(260, 90, 120, 25);this.add(ageLabel);this.add(ageTe*t);JLabel classlab

44、el = new JLabel(班級(jí));String classes = 信息081, 信息082, 物流081 ;class = new oBo*(classes);classlabel.setBounds(20, 120, 40, 25);class.setBounds(60, 120, 120, 25);this.add(classlabel);this.add(class);JLabel departlabel = new JLabel(學(xué)院);String depart = 造紙, 理學(xué)院, 機(jī)電學(xué)院 ;depart = new oBo*(depart);departlabel.se

45、tBounds(220, 120, 40, 25);depart.setBounds(260, 120, 120, 25);this.add(departlabel);this.add(depart);/ 錄入數(shù)據(jù)utton addbtn = new utton(錄入);addbtn.setBounds(150, 180, 60, 30);addbtn.addActionListener(new addAction();this.add(addbtn);/ 返回utton backbtn = new utton(返回);backbtn.setBounds(230, 180, 60, 30);b

46、ackbtn.addActionListener(new BackAction ();this.add(backbtn);this.setLocationRelativeTo(null); / 使窗體居中this.setResizable(false);/ 固定窗體大小this.setVisible(true); / 設(shè)置窗體可見/this.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE); / 窗體關(guān)閉時(shí),程序完畢/ 獲取文本框或選擇框的值public Student getStudent() Student stu = new Student()

47、;String sno = snoTe*t.getTe*t(); / 獲取輸入的*String sname = snameTe*t.getTe*t(); / 獲取String se* = (String) se*.getSelectedItem();/ 獲取性別int age = Integer.parseInt(ageTe*t.getTe*t().trim(); / 獲取年齡String className = (String) class.getSelectedItem(); / 獲取班級(jí)String depart = (String) depart.getSelectedItem();

48、/ 獲取學(xué)院/ 封裝信息stu.setSno(sno);stu.setName(sname);stu.setSe*(se*);stu.setAge(age);stu.setClassName(className);stu.setDepart(depart);return stu;public static void main(String args) AddStudent addstu = new AddStudent();addstu.init();/ 錄入的監(jiān)聽器class addAction implements ActionListener public void actionPerf

49、ormed(ActionEvent e) Student stu = getStudent();boolean b = studao.save(stu, conn);if (b) JOptionPane.showMessageDialog(null, 數(shù)據(jù)錄入成功!); else JOptionPane.showMessageDialog(null, *已存在,數(shù)據(jù)錄入失??!);class BackAction implements ActionListenerpublic void actionPerformed(ActionEvent e) MainFrame m=new MainFram

50、e (); m.init();/DelStuInfo.javapackage .main;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.SQLE*ception;import java.util.Vector;import java*.swing.utton;import java*.swing.oBo*;import java*.swing.JFrame;import java*.swing.JLabel;imp

51、ort java*.swing.JOptionPane;import .bean.Student;import .dao.StudentDao;import .db.DB;import .main.AddStudent.BackAction;/刪除學(xué)生信息public class DelStuInfo e*tends JFrame StudentDao studao = new StudentDao();DB db = new DB();Connection conn = db.getConnection();oBo* sno = null;public void init() / 窗體設(shè)計(jì)t

52、his.setLayout(null);this.setTitle(學(xué)生信息管理系統(tǒng));this.setSize(500, 400);JLabel title = new JLabel(學(xué)生信息維護(hù)模塊刪除數(shù)據(jù));title.setBounds(180, 20, 200, 30);this.add(title);/ 選擇*JLabel snoLabel = new JLabel(請(qǐng)選擇要?jiǎng)h除學(xué)生信息的*);snoLabel.setBounds(20, 60, 200,25);this.add(snoLabel);try Vector vec = studao.getSno();sno = ne

53、w oBo*(vec); / 將數(shù)據(jù)庫(kù)里的*信息裝入下拉框中sno.setBounds(30, 90, 150, 25); catch (SQLE*ception e) e.printStackTrace();this.add(sno);/ 刪除數(shù)據(jù)utton delbtn = new utton(刪除);delbtn.setBounds(100, 180, 60, 30);delbtn.addActionListener(new delAction();this.add(delbtn);/ 返回utton backbtn = new utton(返回);backbtn.setBounds(1

54、80, 180, 60, 30);backbtn.addActionListener(new BackAction ();this.add(backbtn);this.setLocationRelativeTo(null); / 使窗體居中this.setResizable(false);/ 固定窗體大小this.setVisible(true); / 設(shè)置窗體可見/this.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE); / 窗體關(guān)閉時(shí),程序完畢public static void main(String args) DelteStudent

55、delstu = new DelteStudent();delstu.init();/ 刪除的監(jiān)聽器class delAction implements ActionListener public void actionPerformed(ActionEvent e) String delsno = (String) sno.getSelectedItem();boolean b = studao.delete(delsno, conn);if (b) JOptionPane.showMessageDialog(null, 刪除錄入成功!); else JOptionPane.showMess

56、ageDialog(null, 刪除錄入失敗!);class BackAction implements ActionListenerpublic void actionPerformed(ActionEvent e) MainFrame m=new MainFrame (); m.init();package .main;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.SQLE*ception;import jav

57、a.util.Vector;import java*.swing.utton;import java*.swing.oBo*;import java*.swing.JFrame;import java*.swing.JLabel;import java*.swing.JTe*tField;import java*.swing.JOptionPane;import .bean.Student;import .dao.StudentDao;import .db.DB;import .main.AddStudent.BackAction;import .main.DelteStudent.delAc

58、tion;public class EditFrame e*tends JFrame StudentDao studao = new StudentDao();DB db = new DB();Connection conn = db.getConnection();JTe*tField snameTe*t = null;oBo* se* = null;JTe*tField ageTe*t = null;oBo* class = null;oBo* depart = null;oBo* sno = null;public void init() / 窗體設(shè)計(jì)this.setLayout(nul

59、l);this.setTitle(學(xué)生信息管理系統(tǒng));this.setSize(500, 400);JLabel title = new JLabel(學(xué)生信息維護(hù)模塊修改數(shù)據(jù));title.setBounds(180, 20, 200, 30);this.add(title);JLabel snoLabel = new JLabel(*);snoLabel.setBounds(20, 60, 40, 25);this.add(snoLabel);try Vector vec = studao.getSno();sno = new oBo*(vec); / 將數(shù)據(jù)庫(kù)里的*信息裝入下拉框中sno

60、.setBounds(60, 60, 120, 25); catch (SQLE*ception e) e.printStackTrace();this.add(sno);JLabel snameLabel = new JLabel();snameTe*t = new JTe*tField();snameLabel.setBounds(220, 60, 40, 25);snameTe*t.setBounds(260, 60, 120, 25);this.add(snameLabel);this.add(snameTe*t);JLabel se*label = new JLabel(性別);St

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論