java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)陳健.docx_第1頁
java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)陳健.docx_第2頁
java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)陳健.docx_第3頁
java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)陳健.docx_第4頁
java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)陳健.docx_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

java學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)陳健 課程設(shè)計(jì)報(bào)告 說明: 1、報(bào)告中的任務(wù)書、進(jìn)度表由指導(dǎo)教師在課程設(shè)計(jì)開始前填寫并發(fā)給每個(gè)學(xué)生;四、五兩項(xiàng)(中英文摘要)由學(xué)生在完成綜合設(shè)計(jì)后填寫。 2、學(xué)生成績(jī)由指導(dǎo)教師根據(jù)學(xué)生的設(shè)計(jì)情況給出各項(xiàng)分值及總評(píng)成績(jī)。 3、指導(dǎo)教師評(píng)語一欄由指導(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ī)按不及格處理。 1410208021專業(yè) 學(xué)生姓名 陳健 學(xué)號(hào) 08級(jí)軟件二班 7 班級(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分以下、6079、8089、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ù)庫編程. 清華大學(xué)出版社, 2009 5 張友生. 軟件體系結(jié)構(gòu)原理、方法與實(shí)踐. 清華大學(xué)出版社, 2010 設(shè)計(jì)要求: 1. 采用客戶/服務(wù)器方式作為系統(tǒng)開發(fā)結(jié)構(gòu); 2. 后臺(tái)數(shù)據(jù)庫(服務(wù)器)采用Microsoft SQL Server 2000; 3. 用戶使用界面(客戶端)采用高級(jí)程序設(shè)計(jì)語言(如VB 6.0)進(jìn)行開發(fā); 4. 程序必須上機(jī)調(diào)試運(yùn)行通過,并獲得滿意的結(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日 , 分析題目,查閱相關(guān)資料 6月 1日 6月2 日, 擬定整體方案,編寫程序 6月3 日 6月4 日, 程序編寫 6月6 日 6月7 日, 調(diào)試程序 6月8 日 6月9 日, 整理報(bào)告 6月10 日 6月11 日, 答辯 6月11日 月 日, 月 日 月 日, 月 日 月 日, 月 日 月 日, 月日 月 日, 月 日 月 日, 月 日 月 日, 月 日 月 日, 月 日 月 日, 月 日 指導(dǎo)教師簽名: 2010年5 月 28 日 指導(dǎo)教師評(píng)語 指導(dǎo)教師: (簽字) 日 期: 2010 年 6 月 10 日 答辯記錄表 學(xué)生姓名: 學(xué)號(hào): 班級(jí):軟件二班 答辯地點(diǎn): 答辯內(nèi)容記錄: 合計(jì) 各項(xiàng)實(shí)際合計(jì)評(píng)分標(biāo)準(zhǔn) 備注 分值 分值 得分 得分 答在規(guī)定時(shí)間內(nèi)能就所設(shè)計(jì)的內(nèi)容辯10 進(jìn)行闡述,言簡(jiǎn)意明,重點(diǎn)突出, 成 論點(diǎn)正確,條理清晰。 25 績(jī) 在規(guī)定時(shí)間內(nèi)能準(zhǔn)確、完整、流15 利地回答教師所提出的問題。 答辯小組成員(簽字): 2010 年 6 月 11 日 成績(jī)?cè)u(píng)定表 學(xué)生姓名: 陳健 學(xué)號(hào): 班級(jí): 合計(jì) 各項(xiàng)實(shí)際合計(jì)類別 評(píng)分標(biāo)準(zhǔn) 備注 分值 分值 得分 得分 平時(shí)按時(shí)參加設(shè)計(jì)指導(dǎo),無違反紀(jì)律情10 10 表現(xiàn) 況。 按設(shè)計(jì)任務(wù)書的要求完成了全部20 任務(wù),能完整演示其設(shè)計(jì)內(nèi)容,符 合要求。 完成30 情況 能對(duì)其設(shè)計(jì)內(nèi)容進(jìn)行詳細(xì)、完整的10 介紹,并能就指導(dǎo)教師提出的問題 進(jìn)行正確的回答。 報(bào)告文字通順,內(nèi)容翔實(shí),論述充分、完整,立論正確,結(jié)構(gòu)嚴(yán)謹(jǐn)合10 理;報(bào)告字?jǐn)?shù)符合相關(guān)要求,工整規(guī)范,整齊劃一。 課題背景介紹清楚,綜述分析充5 分。 設(shè)計(jì)方案合理、可行,論證嚴(yán)謹(jǐn),報(bào)告5 35 邏輯性強(qiáng),具有說服力。 質(zhì)量 符號(hào)統(tǒng)一;圖表完備、符合規(guī)范要5 求。 能對(duì)整個(gè)設(shè)計(jì)過程進(jìn)行全面的總5 結(jié),得出有價(jià)值的結(jié)論或結(jié)果。 參考文獻(xiàn)數(shù)量在2篇以上,格式符5 合要求,在正文中正確引用。 在規(guī)定時(shí)間內(nèi)能就所設(shè)計(jì)的內(nèi)容10 進(jìn)行闡述,言簡(jiǎn)意明,重點(diǎn)突出, 答辯論點(diǎn)正確,條理清晰。 25 情況 在規(guī)定時(shí)間內(nèi)能準(zhǔn)確、完整、流利15 地回答教師所提出的問題。 總評(píng)成績(jī): 分 指導(dǎo)教師: (簽字) 日 期: 2010 年 6 月 15 日 摘 要 摘 要:隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和高等教育體制改革的不斷深入,傳統(tǒng)教育管理方法、手段以及工作效率已不能適應(yīng)新的發(fā)展需要,無法很好地完成教學(xué)管理工作。提高教學(xué)管理水平的主要途徑是更新管理者的思想,增強(qiáng)對(duì)管理活動(dòng)的科學(xué)認(rèn)識(shí)。基于Java與SQL server數(shù)據(jù)庫技術(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 前言 . ix 1 需求分析 . x 1.1 功能需求分析 . x 1.2 性能需求分析 . x 1.3 數(shù)據(jù)庫需求分析數(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ì) . xii 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 添加模塊代碼實(shí)現(xiàn): . 24 3.4.1 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ā)展需要,無法很好地完成教學(xué)管理工作。提高教務(wù)管理水平的主要途徑是更新管理者的思想,增強(qiáng)對(duì)管理活動(dòng)的科學(xué)認(rèn)識(shí)。同時(shí),運(yùn)用先進(jìn)的信息技術(shù),開發(fā)高校綜合成績(jī)管理信息系統(tǒng),是深化教務(wù)體制改革的有利措施。 JAVA以GUI的編程方式、面向?qū)ο蟮某绦蛟O(shè)計(jì)、眾多的GUI組件和強(qiáng)大的數(shù)據(jù)庫應(yīng)用開發(fā)支持,在競(jìng)爭(zhēng)激勵(lì)的開發(fā)工具市場(chǎng)中越來越羸得程序設(shè)計(jì)者的青睞。JAVA是Windows系統(tǒng)下的可視化集成開發(fā)工具,提供了強(qiáng)大的可視化組件功能,使程序員能夠快速、高效地開發(fā)出Windows系統(tǒng)下的應(yīng)用程序,特別是在數(shù)據(jù)庫和網(wǎng)絡(luò)方面,JAVA與其它開發(fā)工具相比更是勝出一籌。可視化主要是指開發(fā)圖形用戶界面,而只需調(diào)用GUI組件即可。 1 需求分析 1.1 功能需求分析 該學(xué)生成績(jī)管理系統(tǒng)具備三方面的功能:一方面是學(xué)生用戶,學(xué)生通過輸入學(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é)生也是可見的,它的權(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ù)庫需求分析數(shù)據(jù)流圖 1.3.1 數(shù)據(jù)結(jié)構(gòu) 在系統(tǒng)中功能模塊主要牽涉到的信息包括:是學(xué)生信息(Student)、課程信息(Course)、成績(jī)表(SC). TNO)、姓名(SNAME)、年齡(SAGE)、性別(SSEX)、系別(SDEPT) 學(xué)生信息:包含學(xué)號(hào)(S課程信息:包括課程編號(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) 說明:根據(jù)這個(gè)口令號(hào)定位到用戶管理數(shù)據(jù)庫,以便進(jìn)行身份驗(yàn)證。 數(shù)據(jù)流來源:登陸界面輸入的口令號(hào)和密碼。 數(shù)據(jù)流去向:其中用戶口令信息將存在于整個(gè)操作過程中,防止非法登陸。 數(shù)據(jù)流組成:口令號(hào)(文本);密碼(文本) 2) 數(shù)據(jù)流名:尋找信息 說明:根據(jù)用戶在學(xué)生信息維護(hù)的時(shí)候所填寫的信息。 數(shù)據(jù)流來源:學(xué)生信息維護(hù)界面學(xué)生輸入包含學(xué)號(hào)、班級(jí)編號(hào)、名稱等。 數(shù)據(jù)流去向:學(xué)號(hào)將存在整個(gè)操作,其它的存入數(shù)據(jù)庫。 數(shù)據(jù)流組成:學(xué)號(hào)(文本);姓名(文本)等 3) 數(shù)據(jù)流名:尋找信息 說明:根據(jù)用戶在成績(jī)管理的時(shí)候所填寫的信息。 數(shù)據(jù)流來源:成績(jī)輸入、修改、添加等界面用戶輸入包含課程編號(hào)、課程名稱、成績(jī)、教師。 數(shù)據(jù)流去向:學(xué)號(hào)、班級(jí)編號(hào)、課程編號(hào)將存在整個(gè)操作,其它的存入數(shù)據(jù)庫。 數(shù)據(jù)流組成:課程編號(hào)(文本)、課程名稱(文本)、教師(文本)等。 4) 數(shù)據(jù)流名:返回信息 說明:根據(jù)用戶在學(xué)生信息維護(hù)的時(shí)候所填寫的信息存入了數(shù)據(jù)庫之后。 數(shù)據(jù)流來源:由學(xué)生信息維護(hù)界面學(xué)生輸入的包含學(xué)號(hào)、姓名、性別等存入數(shù)據(jù)庫的。 數(shù)據(jù)流去向:學(xué)生信息維護(hù)界面。 數(shù)據(jù)流組成:學(xué)號(hào)(文本)、姓名(文本)、班級(jí)名稱(文本)、性別(文本)等。 信息 5) 數(shù)據(jù)流名:返回說明:根據(jù)用戶在成績(jī)管理的時(shí)候所填寫的信息存入數(shù)據(jù)庫后。 數(shù)據(jù)流來源:由成績(jī)管理輸入的包含班級(jí)名稱、教師、課程名、成績(jī)存入數(shù)據(jù)庫的。 數(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é)生和教師用戶通過輸入口令號(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 圖: 名稱 系別 開 課 含成績(jī) 有 課程 選學(xué)生 課 學(xué)號(hào) 姓年系名 齡 別 課名 先行課 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

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論