java課程設(shè)計(jì)學(xué)籍管理系統(tǒng)
《java課程設(shè)計(jì)學(xué)籍管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《java課程設(shè)計(jì)學(xué)籍管理系統(tǒng)(24頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 課程設(shè)計(jì)報(bào)告 課程設(shè)計(jì)(論文)任務(wù)書 學(xué) 院 ?! I(yè) 班 一、課程設(shè)計(jì)(論文)題目 學(xué)籍管理系統(tǒng) 二、課程設(shè)計(jì)(論文)工作自 2010 年 12 月 20 日起至 2010 年 12 月 24 日止。 三、課程設(shè)計(jì)(論文) 地點(diǎn): 軟 件 學(xué) 院 實(shí) 訓(xùn) 中 心
2、 四、課程設(shè)計(jì)(論文)內(nèi)容要求: 1.本課程設(shè)計(jì)的目的 (1)掌握J(rèn)ava語言的程序設(shè)計(jì)方法; (2)理論聯(lián)系實(shí)際,進(jìn)一步提高學(xué)生的軟件開發(fā)技術(shù); (3)培養(yǎng)學(xué)生分析、解決問題的能力; (4)提高學(xué)生實(shí)踐論文撰寫能力。 2.課程設(shè)計(jì)的任務(wù)及要求 1)課程設(shè)計(jì)任務(wù):設(shè)計(jì)基于數(shù)據(jù)庫的學(xué)籍管理系統(tǒng) 設(shè)計(jì)要求: (1)錄入學(xué)生基本信息的功能; (2)刪除學(xué)生基本信息的功能; (3)查詢學(xué)生基本信息的功能; (4)刪除學(xué)生基本信息的功能。 2)創(chuàng)新要求: (1)增加查詢?nèi)繉W(xué)生信息的功能; (2)增加提示信息窗口的功能。 3)課程設(shè)計(jì)論文編寫要求
3、 (1)課程設(shè)計(jì)任務(wù)及要求 (2)設(shè)計(jì)思路--工作原理、功能規(guī)劃 (3)詳細(xì)設(shè)計(jì)---數(shù)據(jù)分析、算法思路、類設(shè)計(jì)、功能實(shí)現(xiàn)(含程序流程圖、主要代 碼及注釋)、界面等。 (4)運(yùn)行調(diào)試與分析討論---給出運(yùn)行屏幕截圖,分析運(yùn)行結(jié)果,有何改進(jìn)想法等。 (5)設(shè)計(jì)體會(huì)與小結(jié)---設(shè)計(jì)遇到的問題及解決辦法,通過設(shè)計(jì)學(xué)到了哪些新知識(shí), 鞏固了哪些知識(shí),有哪些提高。 (6)參考文獻(xiàn)(必須按標(biāo)準(zhǔn)格式列出,可參考教材后面的參考文獻(xiàn)格式) (7)報(bào)告按規(guī)定排版打印,要求裝訂平整,否則要求返工; (8)課設(shè)報(bào)告的裝訂順序如下:封面---任務(wù)書---中文摘要---目錄----正文---附錄 (代
4、碼及相關(guān)圖片) (9)嚴(yán)禁抄襲,如有發(fā)現(xiàn),按不及格處理。 4)課程設(shè)計(jì)評(píng)分標(biāo)準(zhǔn): (1)學(xué)習(xí)態(tài)度:10分; (2)系統(tǒng)設(shè)計(jì):20分; (3)編程調(diào)試:20分; (4)回答問題:20分; (5)論文撰寫:30分。 5)參考文獻(xiàn): (1)丁振凡. Java語言實(shí)用教程(第2版)[M]. 北京郵電大學(xué)出版社. 2008.1 (2)丁振凡. Java語言實(shí)用教程實(shí)驗(yàn)指導(dǎo)(第2版)[M]. 北京郵電大學(xué)出版社. 2008.1 (3)楊樹林等. Java語言最新實(shí)用案例教程(第2版)[M]. 清華大學(xué)出版社. 2010.7 6)課程設(shè)計(jì)進(jìn)度安排 1.準(zhǔn)備階段(4學(xué)時(shí)):選擇設(shè)
5、計(jì)題目、了解設(shè)計(jì)目的要求、查閱相關(guān)資料 2.程序模塊設(shè)計(jì)分析階段(4學(xué)時(shí)):程序總體設(shè)計(jì)、詳細(xì)設(shè)計(jì) 3.代碼編寫調(diào)試階段(8學(xué)時(shí)):程序模塊代碼編寫、調(diào)試、測(cè)試 4.撰寫論文階段(4學(xué)時(shí)):總結(jié)課程設(shè)計(jì)任務(wù)和設(shè)計(jì)內(nèi)容,撰寫課程設(shè)計(jì)論文 學(xué)生簽名: 2010 年 12 月 20 日 課程設(shè)計(jì)(論文)評(píng)審意見 (1)學(xué)習(xí)態(tài)度(10分):優(yōu)(?。?、良(?。⒅校ā。⒁话悖ā。⒉睿ā。?; (2)系統(tǒng)設(shè)計(jì)(20分):優(yōu)( )、良(?。?、中(?。⒁话悖ā。⒉睿ā。?; (3)編程調(diào)試(20分):優(yōu)(?。⒘迹ā。⒅校ā。⒁话?/p>
6、( )、差( ); (4)回答問題(20分):優(yōu)(?。?、良(?。⒅校ā。?、一般( )、差( ); (5)論文撰寫(30分):優(yōu)(?。⒘迹ā。⒅校ā。?、一般(?。?、差(?。? 評(píng)閱人: 職稱: 講師 2010 年 12 月 25 日 摘 要 隨著我國教育體制改革的深入進(jìn)行,教育系統(tǒng)得到了前所未有的發(fā)展。學(xué)生管理正在逐步邁向管理信息現(xiàn)代化。但是我國的學(xué)生管理信息化水平還處在初級(jí)階段,主要表現(xiàn)在對(duì)學(xué)生的交費(fèi)管理、學(xué)生的檔案管理還是采用原有的人工管理方式。學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長。
7、由于大學(xué)生類別和專業(yè)的設(shè)置的多樣化,大學(xué)生的學(xué)籍管理歷來是非常繁瑣和復(fù)雜的的工作。面對(duì)龐大的信息量, 這時(shí)的人工管理幾乎無法實(shí)現(xiàn),在這種情況下用數(shù)據(jù)庫進(jìn)行管理變的尤為必要,這可以發(fā)揮計(jì)算機(jī)的優(yōu)勢(shì),就需要有學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率.通過這樣的系統(tǒng),可以做到信息的規(guī)范管理,科學(xué)統(tǒng)計(jì)和快速的查詢,從而減少管理方面的工作量和減少人為的錯(cuò)誤。 本學(xué)生學(xué)籍管理系統(tǒng)的開發(fā)與運(yùn)行環(huán)境如下: 開發(fā)環(huán)境:Windows XP 數(shù)據(jù)庫管理系統(tǒng):Access 2007 運(yùn)行環(huán)境:Windows XP 目 錄 一?課程設(shè)計(jì)任務(wù)及要求 1 1. 課設(shè)題目 1 2. 設(shè)計(jì)任務(wù) 1 3
8、. 設(shè)計(jì)要求 1 4. 擴(kuò)展功能 1 二?需求分析 2 1. 功能需求分析 2 三?設(shè)計(jì)思路 4 1. 工作原理 4 2. 功能規(guī)劃 4 四?詳細(xì)設(shè)計(jì) 5 1. 系統(tǒng)設(shè)計(jì) 5 2. 數(shù)據(jù)庫設(shè)計(jì) 6 3. 界面設(shè)計(jì) 7 4. 系統(tǒng)實(shí)現(xiàn) 8 五?運(yùn)行調(diào)試與分析討論 13 1. 運(yùn)行調(diào)試 13 2. 分析討論 17 六?設(shè)計(jì)體會(huì)與小結(jié) 19 七?參考文獻(xiàn) 20 一?課程設(shè)計(jì)任務(wù)及要求 1. 課設(shè)題目 課設(shè)題目:學(xué)籍管理系統(tǒng) 2. 設(shè)計(jì)任務(wù) 完成設(shè)計(jì)基于數(shù)據(jù)庫的學(xué)籍管理系統(tǒng),通過JAVA圖形界面的設(shè)計(jì),使用戶可以加入學(xué)生的基本信息,并可對(duì)加入的信息進(jìn)行修改
9、、查詢和刪除,設(shè)計(jì)GUI界面使操作更加方便、清晰、條理化、自動(dòng)化。在上機(jī)實(shí)踐的同時(shí),去培養(yǎng)自己的實(shí)際分析問題、編程和動(dòng)手能力,提高自己的綜合素質(zhì)。激發(fā)自己的學(xué)習(xí)興趣,正確理解和接受需要重點(diǎn)掌握的知識(shí)點(diǎn),使自己更加進(jìn)一步了解JAVA的各個(gè)方面的知識(shí)。 3. 設(shè)計(jì)要求 主窗體的設(shè)計(jì)(學(xué)籍管理系統(tǒng)窗體) 錄入學(xué)生基本信息的(錄入學(xué)生信息窗體) 修改學(xué)生基本信息的功能(修改學(xué)生信息窗體) 查詢學(xué)生基本信息的功能(按學(xué)號(hào)查詢學(xué)生信息窗體) 刪除學(xué)生基本信息的功能(刪除學(xué)生信息窗體) 菜單設(shè)計(jì) 事件響應(yīng)的處理 Access數(shù)據(jù)庫的連接,創(chuàng)建數(shù)據(jù)表,在表中插入信息,并對(duì)其修
10、改,查詢以及刪除表中信息的具體實(shí)現(xiàn) 4. 擴(kuò)展功能 在主窗體中的菜單選項(xiàng)中,增加一個(gè)退出的菜單子項(xiàng),使退出窗體更加地人性化、方便快捷。 在查詢窗體中增加查詢?nèi)繉W(xué)生信息按鈕,當(dāng)按下時(shí),顯示出一個(gè)包含所有學(xué)生學(xué)生基本信息的窗體。 當(dāng)按下錄入、修改、查詢、刪除等按鈕時(shí),顯示出來一個(gè)提示信息窗口,詢問用戶是否繼續(xù)進(jìn)行操作等。 二?需求分析 1. 功能需求分析 本系統(tǒng)是設(shè)計(jì)基于數(shù)據(jù)庫的學(xué)生信息管理,系統(tǒng)進(jìn)行數(shù)據(jù)庫設(shè)計(jì)首先必須準(zhǔn)確了解也分析用戶需求(包括數(shù)據(jù)和處理)。目的是為學(xué)籍管理數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)打下牢牢的基礎(chǔ),是數(shù)據(jù)庫開發(fā)的重要文件依據(jù),主要為數(shù)據(jù)庫設(shè)計(jì)人員使用,是用戶和系統(tǒng)分析員的
11、項(xiàng)目依據(jù)文件。 系統(tǒng)分析的主要任務(wù)是從用戶角度出發(fā),用戶是指系統(tǒng)管理員。而系統(tǒng)的主要功能是:建立一個(gè)主窗體,帶有錄入、修改、查詢、刪除學(xué)生信息的功能,并成功的連接數(shù)據(jù)庫,將錄入的信息保存在所建的表中,通過所建表的訪問,對(duì)其內(nèi)容進(jìn)行修改,查詢,刪除。主要的功能描述如下: 1) 學(xué)籍管理系統(tǒng)窗體 建立一個(gè)“菜單選項(xiàng)”的菜單項(xiàng),通過對(duì)其菜單子項(xiàng)的訪問,分別進(jìn)入錄入學(xué)生信息、修改學(xué)生信息、查詢學(xué)生信息、刪除學(xué)生信息窗口體。 對(duì)菜單子項(xiàng)“退出”進(jìn)行注冊(cè)監(jiān)聽,使其實(shí)現(xiàn)關(guān)閉窗口的功能。 在窗體上添加一個(gè)名叫“歡迎使用學(xué)生信息管理系統(tǒng)的標(biāo)簽,使其顯示在正中間,并把窗體的背景色設(shè)為淺灰色,前景色
12、設(shè)為紅色。 2) 錄入學(xué)生信息窗體 在窗體的面板中設(shè)置學(xué)號(hào)、姓名、性別、專業(yè)、年級(jí)、出生標(biāo)簽以及其相對(duì)應(yīng)的輸入文本框。 在面板中添加錄入、重置按鈕。按下錄入按鈕時(shí),能夠把輸入的信息添加到數(shù)據(jù)表中;按下重置按鈕時(shí),將文本框中的信息全部清空,回到初使?fàn)顟B(tài)。 3) 修改學(xué)生信息窗體 在窗體的面板中設(shè)置輸入要修改信息的學(xué)號(hào)、(新)姓名、(新)性別、(新)專業(yè)、(新)年級(jí)、(新)出生標(biāo)簽以及其相對(duì)應(yīng)的輸入文本框。 在面板中添加修改、錄入修改、重置按鈕。當(dāng)提交的學(xué)號(hào)存在時(shí),按下修改按鈕,錄入修改變成可執(zhí)行狀態(tài);按下錄入修改按鈕時(shí),能夠把輸入的信息添加到數(shù)據(jù)表中;按下重置按鈕時(shí),將文本框
13、中的信息全部清空,回到初使?fàn)顟B(tài)。 4) 查詢學(xué)生信息窗體 在窗體的面板中設(shè)置請(qǐng)輸入要查詢的學(xué)號(hào)、姓名、性別、專業(yè)、年級(jí)、出生標(biāo)簽以及其相對(duì)應(yīng)的輸入文本框。 在面板中添加查詢、查詢?nèi)繉W(xué)生信息按鈕。當(dāng)提交的學(xué)號(hào)存在時(shí),按下查詢按鈕,在各個(gè)文本框中將顯示該學(xué)號(hào)相應(yīng)的信息;當(dāng)按下查詢?nèi)繉W(xué)生信息按鈕時(shí),在另一個(gè)新建窗口中將顯示數(shù)據(jù)表中所有學(xué)生的信息。 5) 刪除學(xué)生信息窗體 在窗體的面板中設(shè)置輸入要?jiǎng)h除的學(xué)號(hào)、姓名、性別、專業(yè)、年級(jí)、出生標(biāo)簽以及其相對(duì)應(yīng)的輸入文本框。 在面板中添加刪除按鈕。當(dāng)提交的學(xué)號(hào)存在時(shí),按下刪除按鈕,將刪除數(shù)據(jù)表中該學(xué)號(hào)學(xué)生的相關(guān)信息。 6) 數(shù)據(jù)庫的相
14、關(guān)操作 編寫的程序能夠成功的與Access數(shù)據(jù)庫相連。 分析各窗體中標(biāo)簽的具體位置,合理的建立一個(gè)新的數(shù)據(jù)表。 能夠?qū)?shù)據(jù)表進(jìn)行插入、修改、查詢、刪除等操作。 三?設(shè)計(jì)思路 1. 工作原理 通過對(duì)GUI界面的設(shè)計(jì),菜單子項(xiàng)、按鈕的注冊(cè)與監(jiān)聽,文本框(獲取數(shù)據(jù)getText()、輸入數(shù)據(jù)setText()、設(shè)置是否可編輯setEnabled()),單選按鈕(獲取按鈕的標(biāo)識(shí)getState()、設(shè)置按鈕的狀態(tài)setState()),數(shù)據(jù)庫的連接,數(shù)據(jù)表的建立以及其相關(guān)操作(插入信息、修改信息、查詢信息、刪除信息)等原理,使學(xué)籍管理系統(tǒng)能
15、夠具體的實(shí)現(xiàn)其各種功能。 2. 功能規(guī)劃 將所編的程序連接到Access數(shù)據(jù)庫,并創(chuàng)建student數(shù)據(jù)表,可以對(duì)該表進(jìn)行插入、修改、查詢、刪除操作。 學(xué)籍管理系統(tǒng)窗體當(dāng)作用戶剛運(yùn)行程序時(shí)的界面,用戶通過窗體可以訪問到錄入、修改、刪除學(xué)生信息窗體。 用戶能夠在錄入學(xué)生信息窗體中錄入學(xué)生信息,并保存在所建的student表中,當(dāng)按下錄入按鈕時(shí),設(shè)置一個(gè)對(duì)話框詢問用戶是否繼續(xù)操作。 用戶能夠在修改學(xué)生信息窗體中修改學(xué)生信息,并將新輸入的內(nèi)容替代student表中的內(nèi)容。當(dāng)按下修改按鈕時(shí),若輸入的學(xué)號(hào)不存在時(shí),彈出一個(gè)對(duì)話框提示用戶該學(xué)號(hào)學(xué)生不存在,并詢問用戶是否繼續(xù)操作;當(dāng)所輸入
16、的學(xué)號(hào)存在時(shí),將錄入修改按鈕設(shè)為可用狀態(tài);按下錄入修改按鈕時(shí),提示用戶學(xué)生信息修改成功,并彈出一個(gè)對(duì)話框詢問用戶是否繼續(xù)操作。 用戶能夠在查詢學(xué)生信息窗體中查詢自己所需要的信息。當(dāng)按下查詢按鈕時(shí),若輸入的學(xué)號(hào)不存在時(shí),彈出一個(gè)對(duì)話框提示用戶該學(xué)號(hào)學(xué)生不存在,并詢問用戶是否繼續(xù)操作,如果存在時(shí),將在本文框中顯示出該學(xué)號(hào)學(xué)生的信息;當(dāng)按下查詢?nèi)繉W(xué)生信息按鈕時(shí),彈出一個(gè)窗體顯示student表中所有學(xué)生的信息。 用戶能夠在刪除學(xué)生信息窗體中刪除學(xué)生信息。當(dāng)按下刪除按鈕時(shí),若輸入的學(xué)號(hào)不存在時(shí),彈出一個(gè)對(duì)話框提示用戶該學(xué)號(hào)學(xué)生不存在,并詢問用戶是否繼續(xù)操作,如果存在時(shí),將在刪除該學(xué)號(hào)學(xué)生的信
17、息,并顯示在本文框中,同時(shí)詢問用戶是否繼續(xù)操作。 四?詳細(xì)設(shè)計(jì) 1. 系統(tǒng)設(shè)計(jì) 1) 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì) 一般要確定系統(tǒng)的體系結(jié)構(gòu),主要模塊,系統(tǒng)運(yùn)行環(huán)境(如操作系統(tǒng)、數(shù)據(jù)庫),開發(fā)平臺(tái)及語言。本系統(tǒng)主要運(yùn)行在windows系列平臺(tái)上,數(shù)據(jù)庫使用Access,使用eclipse開發(fā)系統(tǒng)。 系統(tǒng)體系結(jié)構(gòu)如下圖4-1所示: 圖形界面 ( AWT) 數(shù)據(jù)訪問 ( JDBC ) 數(shù)據(jù)庫 ( ACCESS) 客戶端 服務(wù)端 圖4-1 系統(tǒng)體系結(jié)構(gòu)圖 圖形界面層(采用java的AWT設(shè)計(jì))負(fù)責(zé)與用戶交互,數(shù)據(jù)訪問層主要根據(jù)業(yè)務(wù)邏輯層的請(qǐng)求通過JDBC/SQL存取數(shù)據(jù)庫。數(shù)據(jù)庫使用
18、ACCESS,可根據(jù)情況使用其他數(shù)據(jù)庫(如SQL Server),客戶端基本不做修改,僅有的少量修改也只在數(shù)據(jù)訪問層。客戶端與服務(wù)端在物理上可以運(yùn)行在一臺(tái)機(jī)器上,也可以分別運(yùn)行在不同機(jī)器上。 2) 系統(tǒng)功能模塊、主要類以及其相關(guān)方法 系統(tǒng)功能模塊如下圖4-2所示: 學(xué)籍管理系統(tǒng) 錄入學(xué)生信息 修改學(xué)生信息 查詢學(xué)生信息 退 出 刪除學(xué)生信息 錄 入 重 置 修 改 錄入 修改 重 置 查 詢 查詢?nèi)啃畔? 刪 除 圖4-2 系統(tǒng)功能模塊圖 主要類以及其相關(guān)方法: 表4-1主要類以及其相關(guān)方法表 My
19、Frame Panel faceplate(Panel f) 定義面板 void keyin(String s) 錄入信息 void modify(String s) 修改信息 void all_inquiry(String s) 查詢?nèi)繉W(xué)生信息 void inquiry(String s) 按學(xué)號(hào)查詢學(xué)生信息 void delete(String s) 刪除信息 void win
20、dowClosing(WindowEvent e) 關(guān)閉窗口 void Inprompt(String s) 錄入提示窗口 void ask(String s) 所找學(xué)號(hào)不存在時(shí)的提示窗口 void Nuprompt(String s) 所找學(xué)號(hào)存在時(shí)的提示窗口 void actionPerformed(ActionEvent e) 對(duì)按鈕監(jiān)聽的具體實(shí)現(xiàn) 2. 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)主要是根據(jù)分析和概要設(shè)計(jì)中發(fā)現(xiàn)的對(duì)象和類,確定哪些對(duì)象需要持久保存,然后將對(duì)
21、象屬性及對(duì)象間關(guān)系轉(zhuǎn)化成關(guān)系表。通過對(duì)題目要求的分析,將學(xué)號(hào)、姓名、性別、專業(yè)、年級(jí)、出生的信息保存在數(shù)據(jù)表student表中,表的具體格式如下: 表4-2 student表的具體格式表 名稱 學(xué)號(hào) 姓名 性別 專業(yè) 年級(jí) 生日 數(shù)據(jù)類型 STRING STRING STRING STRING STRING STRING 以下是數(shù)據(jù)student表創(chuàng)建的主要代碼: String url="jdbc:odbc:mystudent"; String sql="create table student"+"(學(xué)號(hào) STRING,"+"姓名 STRING,"+"
22、性別 STRING,"+"專業(yè) STRING,"+"年級(jí) STRING,"+"生日 STRING)"; 3. 界面設(shè)計(jì) 界面設(shè)計(jì)主要是根據(jù)功能要求構(gòu)建界面,界面中的每個(gè)元素均應(yīng)有其作用,以支持功能的實(shí)現(xiàn),界面設(shè)計(jì)還要考慮到界面風(fēng)格的一致、符合一般window應(yīng)用GUI的規(guī)范。設(shè)計(jì)應(yīng)簡潔實(shí)用,避免在細(xì)節(jié)上(如字體、顏色)耗費(fèi)時(shí)間。 圖4-3 學(xué)籍管理系統(tǒng)窗體圖 圖4-4錄入學(xué)生信息窗體圖 圖4-5 修改學(xué)生信息窗體圖 圖4-6 查詢學(xué)生信息窗體圖 圖4-7 刪除學(xué)生信息窗體圖 4. 系統(tǒng)實(shí)現(xiàn) 1) 數(shù)據(jù)庫訪
23、問: 對(duì)數(shù)據(jù)庫的基本操作是:增、刪、改、查,數(shù)據(jù)庫連接的建立、關(guān)閉,對(duì)student表的插入、修改、查詢、刪除數(shù)據(jù),其中的難點(diǎn)是訪問數(shù)據(jù)庫的異常處理和參數(shù)化SQL,現(xiàn)舉例如下: ①、獲取數(shù)據(jù)庫連接與關(guān)閉的代碼: String url="jdbc:odbc:mystudent"; //mystudent為數(shù)據(jù)源名稱 try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加載驅(qū)動(dòng)類型 } catch (java.lang.ClassNotFoundException e){ System.e
24、rr.println(e.getMessage()); } try{ Connection con=DriverManager.getConnection(url,"",null); System.out.println("Connection succeed!"); con.close(); } catch (SQLException ex){ System.out.println("Message:"+ex.getMessage()); } } 該代碼針對(duì)JdbcOdbcDriver驅(qū)動(dòng),ODBC源名為mystudent,沒
25、有進(jìn)行口令驗(yàn)證。 ②、插入代碼 從錄入學(xué)生信息的窗體中輸入信息,獲得文本框中的數(shù)據(jù),保存在student表中。 nu=number.getText(); //獲取學(xué)號(hào) na=name.getText(); //獲取姓名 sex=""; //定義性別 sp=speciality.getText(); //獲取專業(yè) gr=grade.getText(); //獲取年級(jí) bi=birthday.getText(); //獲取生日 if(cg1
26、.getState()) sex="男"; if(cg2.getState()) sex="女"; String url="jdbc:odbc:mystudent"; try{ Connection con=DriverManager.getConnection(url,"",null); Statement stmt=con.createStatement(); String sql="INSERT INTO student(學(xué)號(hào),姓名,性別,專業(yè),年級(jí),生日) VALUES("+nu+","+na+","+sex+"," +sp+
27、","+gr+","+bi+")"; stmt.executeUpdate(sql);Inprompt("提示信息"); System.out.println("學(xué)生信息錄入成功"); stmt.close();con.close(); } catch (SQLException ex) { System.out.println(ex.getMessage()); } ③、修改代碼 先判斷輸入的學(xué)生學(xué)號(hào)student是否存在,若存在繼續(xù)操作,不存在時(shí)彈出提示信息窗口。 String num=number.getTe
28、xt(); String url="jdbc:odbc:mystudent"; try{ Connection con=DriverManager.getConnection(url,"",null); Statement stmt=con.createStatement(); String sql="SELECT *FROM student where 學(xué)號(hào)="+num+""; ResultSet rs=stmt.executeQuery(sql);int count=0; while(rs.next()){ n
29、u=rs.getString("學(xué)號(hào)");na=rs.getString("姓名"); sex=rs.getString("性別");sp=rs.getString("專業(yè)"); gr=rs.getString("年級(jí)"); bi=rs.getString("生日"); ++count; } if(count==0) { ask("提示信息"); System.out.println("該學(xué)生不存在"); } else bu4.setEnabled(true); stmt.
30、close(); con.close(); } catch (SQLException ex){ System.out.println(ex.getMessage()); } 2) 主窗體的設(shè)計(jì) 通過構(gòu)造函數(shù)創(chuàng)建一個(gè)窗體,在其創(chuàng)建一個(gè)空菜單條m,并創(chuàng)建菜單項(xiàng)(菜單選項(xiàng))加到m中,在菜單項(xiàng)上添加菜單子項(xiàng)(錄入學(xué)生信息、修改學(xué)生信息、查詢學(xué)生信息、刪除學(xué)生信息、退出)并對(duì)它們注冊(cè)給動(dòng)作事件接口。 MyFrame(String s){ super(s); MenuBar m=new MenuBar(); //菜單欄
31、對(duì)象 Menu fi=new Menu("菜單選項(xiàng)"); //菜單對(duì)象 MenuItem[] file= { new MenuItem("錄入學(xué)生基本信息", new MenuShortcut(KeyEvent.VK_A)), //快捷鍵為 ctrl+A new MenuItem("修改學(xué)生基本信息", new MenuShortcut(KeyEvent.VK_S)), //快捷鍵為 ctrl+S new MenuItem("查詢學(xué)生基本信息", new MenuShortcut(KeyEvent.VK_D)), //快捷鍵為 ctr
32、l+D
new MenuItem("刪除學(xué)生基本信息",n
ew MenuShortcut(KeyEvent.VK_F)), //快捷鍵為 ctrl+F
new MenuItem("退出")
};
setMenuBar(m); m.add(fi);
for(int i=0;i 33、his);
file[3].addActionListener(this);
file[4].addActionListener(this);
setSize(500,500); setVisible(true);
addWindowListener(new closeWin());
}
3) 主要面板的設(shè)計(jì)
通過對(duì)各個(gè)窗體的分析,發(fā)現(xiàn)其姓名、性別、專業(yè)、年級(jí)、出生在窗體中的分布都有共同之處,因此可以定義一個(gè)面板將這些內(nèi)容規(guī)劃好,在定義錄入、修改、查詢、刪除等方法時(shí)可以直接調(diào)用該面板,可以節(jié)省許多代碼與運(yùn)行的速度。
public Panel facepla 34、te(Panel f) //定義面板
{
f.setSize(500,500);f.setVisible(true);
f.setLayout(null);f.setBackground(Color.lightGray);
la2.setLocation(70,120);la2.setSize(50,30);f.add(la2);
name.setLocation(130,120);name.setSize(280,30); f.add(name);
la3.setLocation(130,160);la3.setSize(50,30);f.add( 35、la3);
cg2.setLocation(240,160);cg2.setSize(40,30);f.add(cg2);
la5.setLocation(70,200);la5.setSize(50,30);f.add(la5);
speciality.setLocation(130,200);speciality.setSize(280,30); f.add(speciality);
la4.setLocation(70,240);la4.setSize(50,30);f.add(la4);
grade.setLocation(130,240);grade.setSize 36、(280,30);
f.add(grade);
la6.setLocation(70,280);la6.setSize(50,30);f.add(la6);
birthday.setLocation(130,280);birthday.setSize(280,30);
f.add(birthday);
return f;
}
調(diào)用該面板的方法如下:
st=new MyFrame(s);
f=new Panel();
st.add(faceplate(f));
五?運(yùn)行調(diào)試與分析討論
1. 運(yùn)行調(diào)試
首先通過createst 37、udent.java創(chuàng)建一個(gè)新的空數(shù)據(jù)表student
圖5-1 student表創(chuàng)建成功提示信息圖
打開主程序Student.java進(jìn)行學(xué)生信息的錄入、修改、查詢、刪除。
當(dāng)按下錄入學(xué)生基本信息菜單子項(xiàng)時(shí),彈出如圖5-2所示界面(已輸入數(shù)據(jù)):
圖5-2 錄入學(xué)生信息圖
若點(diǎn)下Button是時(shí),將關(guān)閉提示信息窗口,并將文本框中的信息清空;
若下Button退出時(shí),將關(guān)閉提示信息窗口和錄入學(xué)生信息窗口,并將文本框中的信息清空(防止進(jìn)入其他窗口時(shí),文本框中的數(shù)據(jù)不為空)。為使結(jié)果更加清晰化,減少截圖所占的頁面,還分別錄入了以下學(xué)生的信息,如下表5-1所示:
表5-1 已 38、錄入的學(xué)生信息表
學(xué)號(hào)
姓名
性別
專業(yè)
年級(jí)
生日
2
劉柳
男
軟件工程
2008
1990/3/24
3
何璐
女
軟件工程+電商
2010
1991/2/6
4
李云
男
軟件工程+信息
2009
1990/8/10
學(xué)生信息顯示在student表中如下圖5-3所示:
圖5-3 student表的已有信息圖
當(dāng)按下修改學(xué)生基本信息菜單子項(xiàng)時(shí),彈出如下圖5-4所示界面(已經(jīng)輸入數(shù)據(jù)):
圖5-4 修改學(xué)生信息圖
已修改的學(xué)生信息如下圖5-5所示(將學(xué)號(hào)3的年級(jí)信息由2010改為2009):
圖5-5 stude 39、nt表中的信息圖
當(dāng)按下查詢學(xué)生基本信息菜單子項(xiàng)時(shí),彈出如下圖5-6所示界面(已經(jīng)輸入數(shù)據(jù)):
圖5-6 查詢學(xué)生信息圖
當(dāng)按下查詢按鈕時(shí),若存在該學(xué)號(hào)學(xué)生,就出現(xiàn)如上所示界面,若不豐碩該學(xué)號(hào)學(xué)生時(shí),則出現(xiàn)如下圖5-7所示界面:
圖5-7 查詢的學(xué)生信息不存在圖
若按下查詢?nèi)繉W(xué)生信息按鈕時(shí),則出現(xiàn)如下圖5-8所示界面:
圖5-8 查詢學(xué)生信息圖
當(dāng)按下刪除學(xué)生基本信息菜單子項(xiàng)時(shí),彈出如下圖5-8所示界面(已經(jīng)輸入數(shù)據(jù)):
圖5-9 刪除學(xué)生信息圖
操作成功后,student表中的數(shù)據(jù)如下圖5-9所示:
圖5-10 student表中已有信息圖
2. 40、分析討論
由運(yùn)行調(diào)試中的結(jié)果可以看出,該程序在按下錄入、修改、錄入修改、查詢、刪除按鈕時(shí),都有人性化的彈出一個(gè)窗體,詢問用戶是否繼續(xù)操作,或提示用戶您所找的信息不存在等,在這點(diǎn)上,還是有很大的創(chuàng)新。并且以類似表格的形式將student表中的所有信息,將學(xué)生信息展現(xiàn)的更加具體,清晰。
當(dāng)然,如果具體操作可以發(fā)現(xiàn),其中也有許多值得改進(jìn)的地方。
1) 在用戶運(yùn)行程序時(shí),用戶不需要驗(yàn)證帳號(hào)與密碼就可以進(jìn)去,這時(shí)信息的安全性不夠高,因此可以在用戶剛進(jìn)入系統(tǒng)時(shí),彈出一個(gè)窗體要求用戶驗(yàn)證帳號(hào)信息以及其密碼。
2) 在查詢學(xué)生信息時(shí),可以增加幾個(gè)內(nèi)容的查詢,如姓名、專業(yè)、年級(jí)等,這樣可以使用戶在不 41、熟悉學(xué)生信息的情況下,更方便找出學(xué)生的信息。
3) 在查詢?nèi)繉W(xué)生時(shí),也可以不弄類似于表格的形式,而是在窗體上按照輸入的順序,直接顯示在窗體上,并通過添加首頁、上一頁、下一頁、尾頁按鈕,來實(shí)現(xiàn)往查詢上一個(gè)學(xué)生信息或下一個(gè)學(xué)生信息的功能。
4) 也可以通過SWING來編寫系統(tǒng),可以在進(jìn)入頁面時(shí)適當(dāng)?shù)募右恍﹦?dòng)畫,也可以在按鈕旁邊加一點(diǎn)圖案。這樣就可以使系統(tǒng)更加活潑、生動(dòng)。
5) 本系統(tǒng)只記錄了學(xué)生的基本信息,而學(xué)生的成績還是沒有考慮到的。可以在菜單欄上新建學(xué)生成績菜單項(xiàng),通過調(diào)用窗體,實(shí)現(xiàn)對(duì)學(xué)生平時(shí)成績的錄入、修改、查詢等工作,也可以對(duì)學(xué)生的成績進(jìn)行排序并同時(shí)求出他們的平時(shí)成績。
六?設(shè) 42、計(jì)體會(huì)與小結(jié)
對(duì)于這個(gè)課設(shè),我算是花了相當(dāng)大的精力在它上面,從窗體的設(shè)計(jì),面板的排版,按鈕的注冊(cè)監(jiān)聽再到數(shù)據(jù)庫的連接與表的具體實(shí)現(xiàn),都盡量把它弄的盡善盡美。
通過對(duì)這個(gè)系統(tǒng)的研究,對(duì)JAVA書上的知識(shí)又認(rèn)認(rèn)真真的看了一遍,并且仔細(xì)研究書上258頁一個(gè)網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計(jì),看看它是怎樣連接數(shù)據(jù)庫,以及其各種方法的使用,同時(shí)在圖書館借了本相關(guān)的書籍。然后自己在慢慢的將學(xué)籍管理系統(tǒng)的內(nèi)容寫出來,從中對(duì)JAVA的使用和它強(qiáng)大的作用有了一個(gè)更深刻的認(rèn)識(shí),盡管這個(gè)系統(tǒng)實(shí)現(xiàn)的功能也不是很多,但它讓我綜合運(yùn)用了這個(gè)學(xué)期所學(xué)的很多知識(shí),尤其是GUI界面的設(shè)計(jì),在此基礎(chǔ)在自己的JAVA基礎(chǔ)知識(shí)得到了很好的鞏 43、固,并提高了自己編程的動(dòng)手能力。
剛開始也嘗試怎樣通過翻頁的形式來實(shí)現(xiàn)查詢?nèi)繉W(xué)生的信息,在編寫代碼的過程中,對(duì)于數(shù)據(jù)庫游標(biāo)的具體實(shí)現(xiàn)還沒有撐握的很好。因此,在編寫的過程中,遇到了重重困難卻依舊沒有實(shí)現(xiàn)功能,才采用調(diào)用窗體的方式來實(shí)現(xiàn)全部學(xué)生信息的查看。今后在學(xué)習(xí)數(shù)據(jù)庫的過程中,應(yīng)該認(rèn)真學(xué)習(xí)它,這樣以后就可以把這個(gè)程序改的更加完美。
對(duì)于按鈕注冊(cè)兼聽這塊,發(fā)現(xiàn)其是可以重復(fù)注冊(cè)監(jiān)聽,意思就是兩個(gè)不同的按鈕注冊(cè)的內(nèi)容可以相同。這點(diǎn)JAVA實(shí)現(xiàn)的還是不錯(cuò)的,它可以使我們?cè)诰幊痰臅r(shí)候省掉了很多代碼,減少了時(shí)間的浪費(fèi)以及空間的占用。
這次課設(shè)雖然已經(jīng)結(jié)束了,但并不代碼自己以后就慢慢地淡忘掉,而是應(yīng)該通過后面學(xué)到的知識(shí),將這個(gè)系統(tǒng)改的更加完美,功能更加齊全。求知的道路仍在繼續(xù),自己唯有不停地探索研究,才能使自己獲得的知識(shí),更廣,更全面。
第 19 頁
七?參考文獻(xiàn)
[1]:丁振凡.JAVA語言實(shí)用教程(第2版).北京:北京郵電大學(xué)出版社,2008.1
[2]: 施霞萍.JAVA程序設(shè)計(jì)教程(第2版).北京:機(jī)械工業(yè)出版社,2006.9
第 20 頁
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案