java學(xué)生成績(jī)管理系統(tǒng).doc
《java學(xué)生成績(jī)管理系統(tǒng).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《java學(xué)生成績(jī)管理系統(tǒng).doc(31頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
西安文理學(xué)院 計(jì)算機(jī)科學(xué)系 課程設(shè)計(jì)報(bào)告 設(shè)計(jì)名稱: 軟件課程設(shè)計(jì) 設(shè)計(jì)題目: 學(xué)生成績(jī)管理系統(tǒng) 學(xué)生學(xué)號(hào): 14102080217 專業(yè)班級(jí): 軟件工程二班 學(xué)生姓名: 陳健 學(xué)生成績(jī): 指導(dǎo)教師(職稱): 楊全() 課題工作時(shí)間: 2011.4.11至 2011.4.21 說(shuō)明: 1、報(bào)告中的任務(wù)書(shū)、進(jìn)度表由指導(dǎo)教師在課程設(shè)計(jì)開(kāi)始前填寫(xiě)并發(fā)給每個(gè)學(xué)生;四、五兩項(xiàng)(中英文摘要)由學(xué)生在完成綜合設(shè)計(jì)后填寫(xiě)。 2、學(xué)生成績(jī)由指導(dǎo)教師根據(jù)學(xué)生的設(shè)計(jì)情況給出各項(xiàng)分值及總評(píng)成績(jī)。 3、指導(dǎo)教師評(píng)語(yǔ)一欄由指導(dǎo)教師就學(xué)生在整個(gè)設(shè)計(jì)期間的平時(shí)表現(xiàn)、設(shè)計(jì)完成情況、報(bào)告的質(zhì)量及答辯情況,給出客觀、全面的評(píng)價(jià)。 4、所有學(xué)生必須參加課程設(shè)計(jì)的答辯環(huán)節(jié),凡不參加答辯者,其成績(jī)一律按不及格處理。答辯小組成員應(yīng)由2人及以上教師組成。 5、報(bào)告正文字?jǐn)?shù)一般應(yīng)不少于3000字,也可由指導(dǎo)教師根據(jù)本門綜合設(shè)計(jì)的情況另行規(guī)定。 6、平時(shí)表現(xiàn)成績(jī)低于6分的學(xué)生,取消答辯資格,其本項(xiàng)綜合設(shè)計(jì)成績(jī)按不及格處理。 學(xué)生姓名 陳健 學(xué)號(hào) 14102080217 專業(yè) 班級(jí) 08級(jí)軟件二班 設(shè)計(jì)題目 基于C/S模式的學(xué)生成績(jī)記錄查詢系統(tǒng) 內(nèi)容概要: 學(xué)生成績(jī)記錄查詢系統(tǒng)(C/S)的設(shè)計(jì)與實(shí)現(xiàn)。 具體要求如下: 1) 創(chuàng)建學(xué)生信息(學(xué)生的新增、刪除、修改、查詢); 2) 課程成績(jī)維護(hù)(成績(jī)的新增、刪除、修改、查詢); 3) 按學(xué)號(hào)或姓名查詢課程成績(jī); 4) 顯示某課程60分以下、60~79、80~89、90分以上各分?jǐn)?shù)段的學(xué)生信息; 5) 報(bào)表輸出(根據(jù)用戶需要打印有關(guān)資料); 6)判斷用戶標(biāo)識(shí)和口令,并進(jìn)行權(quán)限管理; 7)修改當(dāng)前用戶的密碼及用戶管理。 備注:每個(gè)學(xué)生信息包括:學(xué)號(hào)、姓名、課程名、成績(jī)。 文獻(xiàn)資料: [1] 張海藩.軟件工程導(dǎo)論. 清華大學(xué)出版社, 2010 [2] 沈洪, 施明利. VB程序設(shè)計(jì)案例匯編. 清華大學(xué)出版社, 2010 [3] 孟德欣. VB程序設(shè)計(jì). 清華大學(xué)出版社, 2011 [4] 石志國(guó). VB.NET數(shù)據(jù)庫(kù)編程. 清華大學(xué)出版社, 2009 [5] 張友生. 軟件體系結(jié)構(gòu)原理、方法與實(shí)踐. 清華大學(xué)出版社, 2010 設(shè)計(jì)要求: 1. 采用客戶/服務(wù)器方式作為系統(tǒng)開(kāi)發(fā)結(jié)構(gòu); 2. 后臺(tái)數(shù)據(jù)庫(kù)(服務(wù)器)采用Microsoft SQL Server 2000; 3. 用戶使用界面(客戶端)采用高級(jí)程序設(shè)計(jì)語(yǔ)言(如VB 6.0)進(jìn)行開(kāi)發(fā); 4. 程序必須上機(jī)調(diào)試運(yùn)行通過(guò),并獲得滿意的結(jié)果; 5. 提交打印稿的課程設(shè)計(jì)報(bào)告。 工作期限: 設(shè)計(jì)工作自2011 年4 月11 日至2011年4 月21 日止。 指導(dǎo)教師: 楊全 系主任: 日 期:2011 年 4 月 11 日 計(jì)算機(jī)科學(xué)系課程設(shè)計(jì)進(jìn)度安排表 專業(yè): 姓名: 學(xué)號(hào): 日期 內(nèi) 容 備注 5月31日 ~ 6月 1日 分析題目,查閱相關(guān)資料 6月2 日~ 6月3 日 擬定整體方案,編寫(xiě)程序 6月4 日~ 6月6 日 程序編寫(xiě) 6月7 日~ 6月8 日 調(diào)試程序 6月9 日~ 6月10 日 整理報(bào)告 6月11 日~ 6月11日 答辯 月 日~ 月 日 月 日~ 月 日 月 日~ 月 日 月 日~ 月日 月 日~ 月 日 月 日~ 月 日 月 日~ 月 日 月 日~ 月 日 月 日~ 月 日 指導(dǎo)教師簽名: 2010年5 月 28 日 指導(dǎo)教師評(píng)語(yǔ) 指導(dǎo)教師: (簽字) 日 期: 2010 年 6 月 10 日 答辯記錄表 學(xué)生姓名: 學(xué)號(hào): 班級(jí):軟件二班 答辯地點(diǎn): 答辯內(nèi)容記錄: 答辯成績(jī) 合計(jì) 分值 各項(xiàng)分值 評(píng)分標(biāo)準(zhǔn) 實(shí)際得分 合計(jì)得分 備注 25 10 在規(guī)定時(shí)間內(nèi)能就所設(shè)計(jì)的內(nèi)容進(jìn)行闡述,言簡(jiǎn)意明,重點(diǎn)突出,論點(diǎn)正確,條理清晰。 15 在規(guī)定時(shí)間內(nèi)能準(zhǔn)確、完整、流利地回答教師所提出的問(wèn)題。 答辯小組成員(簽字): 2010 年 6 月 11 日 成績(jī)?cè)u(píng)定表 學(xué)生姓名: 陳健 學(xué)號(hào): 班級(jí): 類別 合計(jì) 分值 各項(xiàng)分值 評(píng)分標(biāo)準(zhǔn) 實(shí)際得分 合計(jì)得分 備注 平時(shí)表現(xiàn) 10 10 按時(shí)參加設(shè)計(jì)指導(dǎo),無(wú)違反紀(jì)律情況。 完成情況 30 20 按設(shè)計(jì)任務(wù)書(shū)的要求完成了全部任務(wù),能完整演示其設(shè)計(jì)內(nèi)容,符合要求。 10 能對(duì)其設(shè)計(jì)內(nèi)容進(jìn)行詳細(xì)、完整的介紹,并能就指導(dǎo)教師提出的問(wèn)題進(jìn)行正確的回答。 報(bào)告質(zhì)量 35 10 報(bào)告文字通順,內(nèi)容翔實(shí),論述充分、完整,立論正確,結(jié)構(gòu)嚴(yán)謹(jǐn)合理;報(bào)告字?jǐn)?shù)符合相關(guān)要求,工整規(guī)范,整齊劃一。 5 課題背景介紹清楚,綜述分析充分。 5 設(shè)計(jì)方案合理、可行,論證嚴(yán)謹(jǐn),邏輯性強(qiáng),具有說(shuō)服力。 5 符號(hào)統(tǒng)一;圖表完備、符合規(guī)范要求。 5 能對(duì)整個(gè)設(shè)計(jì)過(guò)程進(jìn)行全面的總結(jié),得出有價(jià)值的結(jié)論或結(jié)果。 5 參考文獻(xiàn)數(shù)量在2篇以上,格式符合要求,在正文中正確引用。 答辯情況 25 10 在規(guī)定時(shí)間內(nèi)能就所設(shè)計(jì)的內(nèi)容進(jìn)行闡述,言簡(jiǎn)意明,重點(diǎn)突出,論點(diǎn)正確,條理清晰。 15 在規(guī)定時(shí)間內(nèi)能準(zhǔn)確、完整、流利地回答教師所提出的問(wèn)題。 總評(píng)成績(jī): 分 指導(dǎo)教師: (簽字) 日 期: 2010 年 6 月 15 日 摘 要 摘 要:隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和高等教育體制改革的不斷深入,傳統(tǒng)教育管理方法、手段以及工作效率已不能適應(yīng)新的發(fā)展需要,無(wú)法很好地完成教學(xué)管理工作。提高教學(xué)管理水平的主要途徑是更新管理者的思想,增強(qiáng)對(duì)管理活動(dòng)的科學(xué)認(rèn)識(shí)。基于Java與SQL server數(shù)據(jù)庫(kù)技術(shù)建立一個(gè)高校成績(jī)管理系統(tǒng)該系統(tǒng)為管理員、學(xué)生和教師提供了查詢、修改、增加記錄、刪除等功能,功能比較落齊全,基本上能滿足學(xué)生和老師的要求。 關(guān)鍵詞:Java;需求分析;概要設(shè)計(jì);學(xué)生成績(jī)管理系統(tǒng); The Design And Realization Of the educational administration management system Based On JAVA Author: ChenJian Tutor:YangQuan Abstract: Fly technically along with the calculator to develop soon and the higher education system reform of continuously thorough, traditional education management the method, means and work efficiencies have already cant adapt the new development demand, cant complete the teaching management work nicely.The main path that raises the educational administration management level is a thought that renews the governor, strengthenning the science understanding to manage the activity.According to the JAVA build up that system of an educational administration of high school management systems pursue studies with the database technique to living to provided the search, modify, save, increase the record and select elective courses etc. with teacher function, the function relatively falls well-found, can satisfy the request between student and teacher basically. Keyword:JAVA; The need analysis; The essentiadesign; Database; Detailed design 目錄 前言 x 1 需求分析 x 1.1 功能需求分析 x 1.2 性能需求分析 xi 1.3 數(shù)據(jù)庫(kù)需求分析――數(shù)據(jù)流圖 xi 1.3.1 數(shù)據(jù)結(jié)構(gòu) xi 1.3.2 數(shù)據(jù)流: xi 2概要結(jié)構(gòu)設(shè)計(jì) xii 2.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) xii 2.1.1模塊的功能設(shè)計(jì) xii 2.2 概要結(jié)構(gòu)設(shè)計(jì) xiii 3詳細(xì)設(shè)計(jì)及實(shí)現(xiàn) 14 3.1用戶登陸模塊 14 3.1.1 代碼實(shí)現(xiàn) 14 3.2 管理員界面 16 3.2.1 代碼實(shí)現(xiàn): 17 3.3 用戶界面 19 3.3.1 代碼實(shí)現(xiàn): 19 3.4 添加模塊 23 3.4.1 添加模塊代碼實(shí)現(xiàn): 24 3.5 刪除模塊 27 3.5.1 代碼實(shí)現(xiàn): 27 總 結(jié) 29 致 謝 30 參考文獻(xiàn) 30 前言 學(xué)生成績(jī)管理工作是高校教育工作的一項(xiàng)重要內(nèi)容。教務(wù)管理工作是指學(xué)校管理人員按照一定教育方針,運(yùn)用先進(jìn)的管理手段,組織 、協(xié)調(diào) 、指揮并指導(dǎo)各用戶活動(dòng),以便高效率、高質(zhì)量地完成各項(xiàng)教學(xué)任務(wù),完成國(guó)家所制定的教育目標(biāo)。學(xué)生成績(jī)管理工作是學(xué)校教學(xué)工作的中樞,是保證高校教學(xué)機(jī)制正常運(yùn)轉(zhuǎn)的樞紐,它是一項(xiàng)目的性、計(jì)劃性、適用性、創(chuàng)造性和科學(xué)性很強(qiáng)的工作。學(xué)生成績(jī)工作關(guān)系到高校教學(xué)秩序的穩(wěn)定。 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和高等教育體制改革的不斷深入,傳統(tǒng)教育管理方法、手段以及工作效率已不能適應(yīng)新的發(fā)展需要,無(wú)法很好地完成教學(xué)管理工作。提高教務(wù)管理水平的主要途徑是更新管理者的思想,增強(qiáng)對(duì)管理活動(dòng)的科學(xué)認(rèn)識(shí)。同時(shí),運(yùn)用先進(jìn)的信息技術(shù),開(kāi)發(fā)高校綜合成績(jī)管理信息系統(tǒng),是深化教務(wù)體制改革的有利措施。 JAVA以GUI的編程方式、面向?qū)ο蟮某绦蛟O(shè)計(jì)、眾多的GUI組件和強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)支持,在競(jìng)爭(zhēng)激勵(lì)的開(kāi)發(fā)工具市場(chǎng)中越來(lái)越羸得程序設(shè)計(jì)者的青睞。JAVA是Windows系統(tǒng)下的可視化集成開(kāi)發(fā)工具,提供了強(qiáng)大的可視化組件功能,使程序員能夠快速、高效地開(kāi)發(fā)出Windows系統(tǒng)下的應(yīng)用程序,特別是在數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)方面,JAVA與其它開(kāi)發(fā)工具相比更是勝出一籌??梢暬饕侵搁_(kāi)發(fā)圖形用戶界面,而只需調(diào)用GUI組件即可。 1 需求分析 1.1 功能需求分析 該學(xué)生成績(jī)管理系統(tǒng)具備三方面的功能:一方面是學(xué)生用戶,學(xué)生通過(guò)輸入學(xué)號(hào)和密碼進(jìn)下該系統(tǒng)后,可以進(jìn)行一些基礎(chǔ)查詢(學(xué)生信息查詢、班級(jí)信息查詢、課程信息查詢)、成績(jī)管理(成績(jī)查詢、計(jì)算平均分)重新登陸系統(tǒng);一方面老師進(jìn)入該系統(tǒng)則比學(xué)生多一些權(quán)限:成績(jī)輸入、成績(jī)查詢。 具體功能的詳細(xì)描述如下 1.1.1 選擇[學(xué)生基本維護(hù)]菜單命令,即可進(jìn)入 [學(xué)生基本維護(hù)]功能窗體,在其中輸入學(xué)生的相關(guān)信息,如果需要添加或修改學(xué)生信息,則單擊相應(yīng)的按紐,輸入新信息后單擊[添加]就可以了。需要?jiǎng)h除一條信息,則只要選擇這條信息再點(diǎn)擊 [刪除]。在搜索條件中輸入相關(guān)的條件,單擊 [查詢]就可查找信息。 1.1.2 選擇[學(xué)生信息查詢]菜單命令,即可進(jìn)入[學(xué)生信息查詢]功能窗體,在其中的下拉列表中選擇你要看的信息,則在下面的表格中顯示你要的信息。 1.1.3 選擇[成績(jī)管理] [添加成績(jī)]菜單命令,即可進(jìn)入 [添加成績(jī)]功能窗體,此功能權(quán)限只有管理員和教師。 1.1.4 選擇[成績(jī)管理] [輸入成績(jī)]菜單命令,即可進(jìn)入 [輸入成績(jī)]功能窗體, 此功能權(quán)限只有管理員和教師。 1.1.5 選擇[成績(jī)管理] [修改成績(jī)] 界面,此功能規(guī)管理員所有。 1.1.6 選擇[成績(jī)管理] [查詢成績(jī)]界面此界面對(duì)學(xué)生也是可見(jiàn)的,它的權(quán)限規(guī)所有用戶所有。 1.1.7 選擇[登陸] [重新登陸] 則會(huì)返回登陸界面,為用戶提供方便。 1.1.8 選擇[退出]將退出整個(gè)系統(tǒng)。 1.2 性能需求分析 時(shí)間特性要求:在軟件方面,響應(yīng)時(shí)間有點(diǎn)慢,因?yàn)槭怯肊clipse做的,它占用內(nèi)存比較大,更新處理時(shí)間比較快而且迅速。 安全性:設(shè)立口令號(hào)和密碼驗(yàn)證方式,防止非法用戶登錄進(jìn)行操作。也就是用戶只有管理員、學(xué)生和教師才能進(jìn)入這個(gè)系統(tǒng),用戶憑口令號(hào)和密碼進(jìn)入此系統(tǒng),系統(tǒng)會(huì)自動(dòng)判斷用戶是那種類型,分別擁有不同的權(quán)限。 1.3 數(shù)據(jù)庫(kù)需求分析――數(shù)據(jù)流圖 1.3.1 數(shù)據(jù)結(jié)構(gòu) 在系統(tǒng)中功能模塊主要牽涉到的信息包括:是學(xué)生信息(Student)、課程信息(Course)、成績(jī)表(SC). 學(xué)生信息:包含學(xué)號(hào)(STNO)、姓名(SNAME)、年齡(SAGE)、性別(SSEX)、系別(SDEPT) 課程信息:包括課程編號(hào)(Cno)、課程名稱(Cname)、先行課(Cpno) 成績(jī)表;學(xué)號(hào)(STNO)、課程號(hào)(Cno)、成績(jī)(Grade) 1.3.2 數(shù)據(jù)流: 1) 數(shù)據(jù)流名:口令號(hào) 說(shuō)明:根據(jù)這個(gè)口令號(hào)定位到用戶管理數(shù)據(jù)庫(kù),以便進(jìn)行身份驗(yàn)證。 數(shù)據(jù)流來(lái)源:登陸界面輸入的口令號(hào)和密碼。 數(shù)據(jù)流去向:其中用戶口令信息將存在于整個(gè)操作過(guò)程中,防止非法登陸。 數(shù)據(jù)流組成:口令號(hào)(文本);密碼(文本) 2) 數(shù)據(jù)流名:尋找信息 說(shuō)明:根據(jù)用戶在學(xué)生信息維護(hù)的時(shí)候所填寫(xiě)的信息。 數(shù)據(jù)流來(lái)源:學(xué)生信息維護(hù)界面學(xué)生輸入包含學(xué)號(hào)、班級(jí)編號(hào)、名稱等。 數(shù)據(jù)流去向:學(xué)號(hào)將存在整個(gè)操作,其它的存入數(shù)據(jù)庫(kù)。 數(shù)據(jù)流組成:學(xué)號(hào)(文本);姓名(文本)等 3) 數(shù)據(jù)流名:尋找信息 說(shuō)明:根據(jù)用戶在成績(jī)管理的時(shí)候所填寫(xiě)的信息。 數(shù)據(jù)流來(lái)源:成績(jī)輸入、修改、添加等界面用戶輸入包含課程編號(hào)、課程名稱、成績(jī)、教師。 數(shù)據(jù)流去向:學(xué)號(hào)、班級(jí)編號(hào)、課程編號(hào)將存在整個(gè)操作,其它的存入數(shù)據(jù)庫(kù)。 數(shù)據(jù)流組成:課程編號(hào)(文本)、課程名稱(文本)、教師(文本)等。 4) 數(shù)據(jù)流名:返回信息 說(shuō)明:根據(jù)用戶在學(xué)生信息維護(hù)的時(shí)候所填寫(xiě)的信息存入了數(shù)據(jù)庫(kù)之后。 數(shù)據(jù)流來(lái)源:由學(xué)生信息維護(hù)界面學(xué)生輸入的包含學(xué)號(hào)、姓名、性別等存入數(shù)據(jù)庫(kù)的。 數(shù)據(jù)流去向:學(xué)生信息維護(hù)界面。 數(shù)據(jù)流組成:學(xué)號(hào)(文本)、姓名(文本)、班級(jí)名稱(文本)、性別(文本)等。 5) 數(shù)據(jù)流名:返回信息 說(shuō)明:根據(jù)用戶在成績(jī)管理的時(shí)候所填寫(xiě)的信息存入數(shù)據(jù)庫(kù)后。 數(shù)據(jù)流來(lái)源:由成績(jī)管理輸入的包含班級(jí)名稱、教師、課程名、成績(jī)存入數(shù)據(jù)庫(kù)的。 數(shù)據(jù)流去向:成績(jī)管理的各子界面。 數(shù)據(jù)流組成:班級(jí)編號(hào)(文本);班級(jí)名稱(文本);教師(文本)等; 2概要結(jié)構(gòu)設(shè)計(jì) 2.1系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) 2.1.1模塊的功能設(shè)計(jì) 根據(jù)需求分析階段得到的功能需求,管理員、學(xué)生和教師用戶通過(guò)輸入口令號(hào)和密碼進(jìn)下該系統(tǒng)后,可以進(jìn)行一些學(xué)生基礎(chǔ)信息查詢(學(xué)生信息查詢、班級(jí)信息查詢、課程信息查詢)、學(xué)生信息維護(hù)、成績(jī)管理(成績(jī)查詢、計(jì)算平均分)重新登陸系統(tǒng)、退出。 模塊功能大概可以分為如下4個(gè)方面:這幾個(gè)模塊學(xué)生基礎(chǔ)維護(hù)、成績(jī)管理、登陸、退出。其中基礎(chǔ)維護(hù)還要包括學(xué)生信息維護(hù)、班級(jí)信息維護(hù)、課程信息維護(hù)。成績(jī)管理包括成績(jī)查詢、添加成績(jī)、成績(jī)輸入等。綜上所述,得到客戶端功能模塊圖如下2.1所示。 2.2 概要結(jié)構(gòu)設(shè)計(jì) 用戶登陸 登陸 管理員登陸 增加信息 查詢信息 查詢信息 刪除信息 E-R 圖:開(kāi)課 系別 名稱 含有 課名 先行課 成績(jī) 姓名 課程 選課 學(xué)號(hào) 系別 年齡 學(xué)生 3詳細(xì)設(shè)計(jì)及實(shí)現(xiàn) 3.1用戶登陸模塊 3.1.1 代碼實(shí)現(xiàn) package com.kk; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Login extends JFrame { private static final long serialVersionUID = 4949257312955311099L; TextField f1; TextField f2; JButton b1; JButton b2; JButton b3; String power;//表示權(quán)限 Login(){ Container cp=getContentPane(); cp.setLayout(new GridLayout(4,1)); Label l1=new Label("用戶名"); Label l2=new Label("密 碼"); Panel p1=new Panel(); Panel p2=new Panel(); Panel p3=new Panel(); f1=new TextField(10); f2=new TextField(10); f2.setEchoChar(*); b1=new JButton("登錄"); b2=new JButton("重置"); b3=new JButton("退出"); p1.add(l1); p1.add(f1); p2.add(l2); p2.add(f2); p3.add(b1); p3.add(b2); p3.add(b3); cp.add(p1); cp.add(p2); cp.add(p3); b1.addActionListener(new Enter()); b2.addActionListener(new ReWrite()); b3.addActionListener(new Close()); } public static void main(String[] args) { Login log=new Login(); log.setTitle("系統(tǒng)登錄"); log.setBounds(200, 200, 300, 300); log.setBackground(Color.blue); log.setVisible(true); } class Enter implements ActionListener{ public void actionPerformed(ActionEvent e) { if((f1.getText()).equals("1410")&&(f2.getText()).equals("chenjian")) { JOptionPane.showMessageDialog(null, "登錄成功!用戶權(quán)限是管理員"); power="管理員"; XueSheng frame1 = new XueSheng(); frame1.setVisible(true); } else if((f1.getText()).equals("abc")&&(f2.getText()).equals("123456")) { JOptionPane.showMessageDialog(null, "登錄成功!登錄成功!用戶權(quán)限是游客"); power="游客"; Find f2 = new Find(); f2.setVisible(true); } else JOptionPane.showMessageDialog(null, "登錄失敗,請(qǐng)重新登錄!"); } } class ReWrite implements ActionListener{ public void actionPerformed(ActionEvent e) { f1.setText(""); f2.setText(""); f1.requestFocus(); } } class Close implements ActionListener{ public void actionPerformed(ActionEvent e) { JButton bt=(JButton)e.getSource(); if(bt==b3) System.exit(0); } } } 3.2 管理員界面 3.2.1 代碼實(shí)現(xiàn): package com.kk; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.JFrame; public class XueSheng extends JFrame implements ActionListener { JButton cx, zj, tc, sc; XueSheng() { setBounds(100, 100, 600, 600); JPanel panel2 = new JPanel(); setContentPane(panel2); panel2.setLayout(null); JLabel label1 = new JLabel("歡迎進(jìn)入學(xué)生信息管理界面"); label1.setFont(new Font("BOLD", Font.BOLD, 28)); panel2.add(label1); label1.setBounds(50, 20, 400, 100); cx = new JButton("查詢"); panel2.add(cx); cx.setBounds(50, 200, 80, 50); zj = new JButton("增加"); panel2.add(zj); zj.setBounds(150, 200, 80, 50); sc = new JButton("刪除"); panel2.add(sc); sc.setBounds(250, 200, 80, 50); tc = new JButton("退出"); panel2.add(tc); tc.setBounds(350, 200, 80, 50); cx.addActionListener(this); zj.addActionListener(this); sc.addActionListener(this); tc.addActionListener(this); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == cx) { Find f = new Find(); } if(e.getSource()==zj){ AddFI f = new AddFI(); } if(e.getSource()==sc){ Delet d = new Delet(); } if(e.getSource()==tc){ shutDown(); } } private void shutDown(){ this.dispose(); } } 3.3 用戶界面 3.3.1 代碼實(shí)現(xiàn): package com.kk; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.*; public class Find extends JFrame implements ActionListener { JTextField t1; String STNO, r1, r2, r3, r4, r5, r6; JButton b1, b2; XueSheng xue; Find() { super("查詢學(xué)生信息"); Container c1 = this.getContentPane(); setBackground(new Color(215, 215, 215)); c1.setLayout(new GridLayout(3, 2)); JPanel pp = new JPanel(); JLabel label0 = new JLabel("請(qǐng)輸入你的學(xué)號(hào)"); label0.setForeground(Color.blue); pp.add(label0); JPanel p1 = new JPanel(); t1 = new JTextField(10); p1.add(new Label("")); p1.add(t1); c1.add(p1); JPanel p2 = new JPanel(); b1 = new JButton("查詢"); b2 = new JButton("退出"); b1.addActionListener(this); b2.addActionListener(this); p2.add(b1); p2.add(b2); c1.add(p2); this.setVisible(true); this.setBounds(200, 200, 400, 300); } public void actionPerformed(ActionEvent e) { try { if (e.getSource() == b1) { try { STNO = t1.getText(); Class.forName( "com.microsoft.sqlserver.jdbc.SQLServerDriver") .newInstance(); String url = "jdbc:sqlserver://localhost:1433; DatabaseName=ss"; String userName = "sa"; // 默認(rèn)用戶名 String userPwd = "sa"; Connection cn = DriverManager.getConnection(url, userName, userPwd); String str = "select Student.SNAME,Student.SAGE,Student.SSEX,Student.STNO,Course.Cname,SC.Grade from Student,Course ,SC where Student.STNO = SC.STNO and SC.Cno = Course.Cno and Student.STNO ="+STNO+""; PreparedStatement ps = cn.prepareStatement(str); ResultSet rs = ps.executeQuery(); System.out.println("STNO=" + STNO); if (rs.next()) { r1 = rs.getString("STNO"); r2 = rs.getString("SNAME"); r3 = rs.getString("SAGE"); r4 = rs.getString("SSEX"); r5 = rs.getString("Cname"); r6 = rs.getString("Grade"); } else { JOptionPane.showMessageDialog(null, "你輸入的學(xué)號(hào)有誤"); } cn.close(); } catch (SQLException g) { System.out.println("Error" + g.getErrorCode()); System.out.println("Merrage=" + g.getMessage()); } catch (Exception f) { f.printStackTrace(); } File f = new File(); this.dispose(); } if (e.getSource() == b2) { t1.setText(""); t1.repaint(); } } catch (NumberFormatException ex) { JOptionPane.showMessageDialog(null, "數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤"); } } class File extends JFrame implements ActionListener { JTextField tt1, t2, t3, t4, t5, t6; JButton b3; File() { super("查詢學(xué)生信息"); Container c2 = this.getContentPane(); setBackground(new Color(215, 215, 215)); c2.setLayout(new GridLayout(3, 1)); tt1 = new JTextField(r1); t2 = new JTextField(r2); t3 = new JTextField(r3); t4 = new JTextField(r4); t5 = new JTextField(r5); t6 = new JTextField(r6); tt1.setEditable(false); t2.setEditable(false); t3.setEditable(false); t4.setEditable(false); t5.setEditable(false); t6.setEditable(false); JPanel pp1 = new JPanel(); JLabel label2 = new JLabel("學(xué)號(hào)為" + STNO + "學(xué)生的信息"); pp1.add(label2); label2.setFont(new Font("BOLD", Font.BOLD, 28)); c2.add(pp1); JPanel pp2 = new JPanel(new GridLayout(6, 2)); pp2.add(new JLabel("學(xué)號(hào)", SwingConstants.CENTER)); tt1.setText(STNO); pp2.add(tt1); pp2.add(new JLabel("姓名", SwingConstants.CENTER)); pp2.add(t2); pp2.add(new JLabel("年齡", SwingConstants.CENTER)); pp2.add(t3); pp2.add(new JLabel("性別", SwingConstants.CENTER)); pp2.add(t4); pp2.add(new JLabel("課程", SwingConstants.CENTER)); pp2.add(t5); pp2.add(new JLabel("成績(jī)", SwingConstants.CENTER)); pp2.add(t6); c2.add(pp2); JPanel pp3 = new JPanel(); b3 = new JButton("返回"); b3.addActionListener(this); pp3.add(b3); c2.add(pp3); this.setBounds(200, 200, 600, 400); setVisible(true); } public void actionPerformed(ActionEvent f) { if (f.getSource() == b3) { this.dispose(); } } } } 3.4 添加模塊 3.4.1 添加模塊代碼實(shí)現(xiàn): package com.kk; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class AddFI extends JFrame implements ActionListener { JTextField STNOText, SNAMEText, SAGEText, SSEXText, SDEPTText; JButton b1, b2, b3; String STNO, SNAME, SAGE, SSEX, SDEPT; public AddFI() { Container c = this.getContentPane(); c.setLayout(new GridLayout(3, 1)); JPanel center = new JPanel(new GridLayout(5, 2)); JPanel low = new JPanel(new FlowLayout()); JLabel label1 = new JLabel("添加學(xué)生信息", SwingConstants.CENTER); label1.setFont(new Font("TRUE", Font.TRUETYPE_FONT, 20)); c.add(label1); STNOText = new JTextField(30); SNAMEText = new JTextField(30); SSEXText = new JTextField(30); SAGEText = new JTextField(30); SDEPTText = new JTextField(30); center.add(new JLabel("學(xué)號(hào)", SwingConstants.CENTER)); center.add(STNOText); center.add(new JLabel("姓名", SwingConstants.CENTER)); center.add(SNAMEText); center.add(new JLabel("性別", SwingConstants.CENTER)); center.add(SSEXText); center.add(new JLabel("年齡", SwingConstants.CENTER)); center.add(SAGEText); center.add(new JLabel("系別", SwingConstants.CENTER)); center.add(SDEPTText); c.add(center); b1 = new JButton("添加"); b2 = new JButton("清除"); b3 = new JButton("退出"); low.add(b1); low.add(b2); low.add(b3); c.add(low); // 為按鈕添加jianting b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); this.setBounds(200, 200, 600, 400); this.setVisible(true); this.setTitle("添加學(xué)生信息"); } public void actionPerformed(ActionEvent e) { if (e.getSource() == b1) { addFI(); } if (e.getSource() == b2) { clearForm(); } if (e.getSource() == b3) { shutdown(); } } private void addFI() { STNO = STNOText.getText(); SNAME = SNAMEText.getText(); SSEX = SSEXText.getText(); SAGE = SAGEText.getText(); SDEPT = SDEPTText.getText(); if (STNO.length() == 0 || SNAME.length() == 0 || SAGE.length() == 0 || SDEPT.length() == 0 || SSEX.length() == 0) JOptionPane.showMessageDialog(this, "請(qǐng)?zhí)砑油耆畔?); else { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver") .newInstance(); String url = "jdbc:sqlserver://localhost:1433; DatabaseName=ss"; String userName = "sa"; // 默認(rèn)用戶名 String userPwd = "sa"; Connection cn = DriverManager.getConnection(url, userName, userPwd); String str = "INSERT INTO Student VALUES(?,?,?,?,?)"; PreparedStatement ps = cn.prepareStatement(str); ps.setString(1, STNO); ps.setString(2, SNAME); ps.setString(3, SSEX); ps.setString(4, SAGE); ps.setString(5, SDEPT); ps.executeUpdate(); cn.close(); JOptionPane.showMessageDialog(this, "添加成功"); clearForm(); } catch (SQLException e) { System.out.println("ECode" + e.getErrorCode()); System.out.println("E M=" + e.getMessage()); } catch (Exception e) { e.printStackTrace(); } } } private void clearForm() { STNOText.setText(""); SNAMEText.setText(""); SAGEText.setText(""); SSEXText.setText(""); SDEPTText.setText(""); } private void shutdown() { this.dispose(); } } 3.5 刪除模塊 3.5.1 代碼實(shí)現(xiàn): package com.kk; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.swing.*; public class Delet extends JFrame implements ActionListener{ JButton yes; JButton cancle; JTextField text1; String STNO; Delet(){ Container c = this.getContentPane(); c.setLayout(new GridLayout(3, 1)); c.setFont(new Font("true",Font.TRUETYPE_FONT,13)); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JLabel label1 = new JLabel("刪除學(xué)生信息",SwingConstants.CENTER); label1.setFont(new Font("true",Font.TRUETYPE_FONT,13)); label1.setForeground(Color.blue); c.add(label1); JLabel label2 = new JLabel("請(qǐng)輸入學(xué)號(hào)"); text1 = new JTextField(10); p1.add(label2); p1.add(text1); c.add(- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java 學(xué)生 成績(jī)管理系統(tǒng)
鏈接地址:http://m.jqnhouse.com/p-6565761.html