




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-.z.2016-2017學(xué)年第2學(xué)期經(jīng)濟(jì)管理學(xué)院實(shí)踐教學(xué)成績(jī)?cè)u(píng)定表實(shí)踐教學(xué)項(xiàng)目面向?qū)ο蟪绦蛟O(shè)計(jì)專業(yè)信息管理與信息系統(tǒng)學(xué)生班級(jí)**評(píng)語(yǔ)成績(jī)?nèi)掌谡n程實(shí)踐任務(wù)書(shū)學(xué)院經(jīng)濟(jì)管理學(xué)院專業(yè)信息管理與信息系統(tǒng)**15040602150406021504060222課程名稱面向?qū)ο蟪绦蛟O(shè)計(jì)設(shè)計(jì)題目學(xué)生信息管理系統(tǒng)程序設(shè)計(jì)設(shè)計(jì)要求與任務(wù):使用任意一款JAVA開(kāi)發(fā)工具開(kāi)發(fā)一個(gè)實(shí)用的應(yīng)用系統(tǒng),如記事本、計(jì)算器、繪圖軟件、JSP或者M(jìn)IS。可以采取B/S或者C/S模式。此次設(shè)計(jì)的具體要求還包括:(1)根據(jù)課程設(shè)計(jì)時(shí)間選擇適當(dāng)規(guī)模大小的設(shè)計(jì)題目,分小組進(jìn)行設(shè)計(jì)。(2)小組組長(zhǎng)為組員分配任務(wù),根據(jù)合理的安排,按照軟件開(kāi)發(fā)的流程及方法,踏實(shí)地開(kāi)展課程設(shè)計(jì)活動(dòng)。(3)課程設(shè)計(jì)包括開(kāi)發(fā)編碼和撰寫(xiě)相關(guān)文檔。最后提交詳細(xì)的課程設(shè)計(jì)報(bào)告。(4)開(kāi)發(fā)出可上機(jī)運(yùn)行的JAVA應(yīng)用,并上機(jī)測(cè)試。工作計(jì)劃與進(jìn)度安排:第1-3天:布置任務(wù)、分組、粗略調(diào)查、選題、可行性研究、系統(tǒng)規(guī)劃。第4-6天:深入調(diào)研、系統(tǒng)分析、建立數(shù)據(jù)邏輯模型、系統(tǒng)設(shè)計(jì)、建立數(shù)據(jù)物理模型第7-9天:系統(tǒng)實(shí)施、程序設(shè)計(jì)、系統(tǒng)調(diào)試。第9-10天:應(yīng)用測(cè)試、整理資料、撰寫(xiě)報(bào)告、準(zhǔn)備驗(yàn)收指導(dǎo)教師(簽字):年月日專業(yè)負(fù)責(zé)人(簽字):年月日學(xué)院院長(zhǎng)(簽字):年月日-.z.摘要信息技術(shù)的快速發(fā)展的同時(shí)也帶來(lái)了社會(huì)各個(gè)行業(yè)的發(fā)展。它的發(fā)展已經(jīng)深入到社會(huì)的各個(gè)角落。作為社會(huì)發(fā)展的前沿技術(shù),各行各業(yè)只要對(duì)其合理的進(jìn)行運(yùn)用,必將會(huì)帶來(lái)巨大的便捷。成功的運(yùn)用信息技術(shù)將為各類學(xué)校學(xué)生信息管理帶來(lái)無(wú)限便利。作為計(jì)算機(jī)應(yīng)用的一部分,使用學(xué)生信息管理系統(tǒng)對(duì)學(xué)生檔案進(jìn)行管理,有著手工管理所無(wú)法比擬的優(yōu)點(diǎn),如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、性好、壽命長(zhǎng)、成本低等,提高學(xué)生檔案管理的效率。本文介紹了系統(tǒng)開(kāi)發(fā)的全過(guò)程。該系統(tǒng)以Windows為操作平臺(tái),Java為開(kāi)發(fā)語(yǔ)言,Access為數(shù)據(jù)庫(kù),Eclipse為開(kāi)發(fā)工具,使用JDBC技術(shù)進(jìn)行連接,實(shí)現(xiàn)了在可視化的基礎(chǔ)上,利用數(shù)據(jù)庫(kù)進(jìn)行后臺(tái)管理。系統(tǒng)由學(xué)生和老師基本信息添加、學(xué)生和老師基本信息查詢、學(xué)生和老師基本信息刪除、學(xué)生和老師基本信息修改及退出系統(tǒng)等功能模塊組成,基本功能較全面。用戶界面友好、清晰、操作簡(jiǎn)便,易學(xué)易用;系統(tǒng)可讀性好,易于維護(hù)、更新,安全性較好。采用傳統(tǒng)下拉菜單功能選擇,方便、快捷、一目了然,并且在一個(gè)窗體中進(jìn)行操作,可視化強(qiáng)。采用鏈入數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),可動(dòng)態(tài)進(jìn)行查看、操作,這樣的系統(tǒng)可修改性較強(qiáng)。關(guān)鍵字:面向?qū)ο?;Eclipse;JDBC目錄TOC\o"1-3"\h\u1前言21.1課題簡(jiǎn)介21.2設(shè)計(jì)目的22需求分析22.1業(yè)務(wù)需求分析22.2功能需求分析22.2.1學(xué)生信息22.2.2教師信息22.2.3成績(jī)管理23數(shù)據(jù)庫(kù)設(shè)計(jì)23.1Java連接數(shù)據(jù)庫(kù)23.1.1關(guān)系數(shù)據(jù)庫(kù)概述23.1.2通過(guò)JDBC訪問(wèn)數(shù)據(jù)庫(kù)23.2數(shù)據(jù)庫(kù)與基本表設(shè)計(jì)24系統(tǒng)設(shè)計(jì)與實(shí)施24.1EclipseJavaNeon3 24.2結(jié)構(gòu)設(shè)計(jì)24.3文件組織結(jié)構(gòu)24.4登錄模塊24.4.1設(shè)計(jì)構(gòu)想24.4.2實(shí)現(xiàn)登錄模塊24.5學(xué)生信息模塊24.5.1設(shè)計(jì)構(gòu)想24.5.2實(shí)現(xiàn)學(xué)生信息模塊主界面2添加信息24.5.4刪除信息2修改信息24.5.6基本信息查詢24.5.7成績(jī)查詢24.5.8退出系統(tǒng)24.6教師信息模塊2結(jié)束語(yǔ)2參考文獻(xiàn)2附錄A2-.z.1前言1.1課題簡(jiǎn)介學(xué)生信息檔案的管理對(duì)于學(xué)校的管理者來(lái)說(shuō)至關(guān)重要,學(xué)生信息是高等學(xué)校非常重要的一項(xiàng)數(shù)據(jù)資源,是一個(gè)教育單位不可缺少一部分。近幾年來(lái),國(guó)家政策的調(diào)整,我國(guó)高等院校大規(guī)模擴(kuò)招,給高等院校的教學(xué)管理、學(xué)生管理、后勤管理等方面都帶來(lái)不少的沖擊。其包含的數(shù)據(jù)量大,涉及的人員面廣,而且需要及時(shí)更新,故較為復(fù)雜,難以單純地依靠人工管理,而且傳統(tǒng)的人工管理方式既不易于規(guī)化,管理效率也不高。目前我國(guó)各類高等院校中還有相當(dāng)一部分學(xué)生檔案管理還停留在紙介質(zhì)的基礎(chǔ)上,中、小學(xué)對(duì)學(xué)生檔案的管理更是落后,這樣的管理機(jī)制嚴(yán)重浪費(fèi)人力和物力,已經(jīng)不能適應(yīng)時(shí)代發(fā)展的要求。計(jì)算機(jī)應(yīng)用的普及已進(jìn)入人類社會(huì)生活的各個(gè)領(lǐng)域,并發(fā)揮著越來(lái)越重要的作用。這種傳統(tǒng)的手工管理模式必然被以計(jì)算機(jī)為物質(zhì)基礎(chǔ)的信息管理方法所取代。作為計(jì)算機(jī)應(yīng)用的一部分,使用學(xué)生信息管理系統(tǒng)對(duì)學(xué)生檔案進(jìn)行管理,有著手工管理所無(wú)法比擬的優(yōu)點(diǎn),如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極提高學(xué)生檔案管理的效率,也是學(xué)校向科學(xué)化、正規(guī)化管理發(fā)展的必要條件。1.2設(shè)計(jì)目的對(duì)學(xué)生信息管理系統(tǒng),目的是為了對(duì)學(xué)校的學(xué)生信息管理工作進(jìn)行系統(tǒng)的管理,以提高工作效率。通過(guò)程序設(shè)計(jì),開(kāi)發(fā)出學(xué)生信息管理系統(tǒng)代替相應(yīng)的手工管理。學(xué)生信息管理系統(tǒng)可為用戶提供充足的信息和快捷的查詢手段,不但可以實(shí)現(xiàn)教師、學(xué)生的信息錄入、修改與刪除,而且可以實(shí)現(xiàn)學(xué)生成績(jī)的信息錄入、修改與刪除,同時(shí)可以對(duì)所有的信息進(jìn)行查詢,實(shí)現(xiàn)學(xué)校的規(guī)化管理。-.z.2需求分析2.1業(yè)務(wù)需求分析開(kāi)發(fā)一個(gè)系統(tǒng)前,首先應(yīng)該對(duì)該系統(tǒng)要實(shí)現(xiàn)的功能進(jìn)行整體的分析和規(guī)劃,確保在開(kāi)發(fā)過(guò)程中不會(huì)出現(xiàn)重大缺陷和漏洞。因此,在軟件開(kāi)發(fā)的過(guò)程中應(yīng)嚴(yán)格按照軟件工程的流程進(jìn)行系統(tǒng)的分析與設(shè)計(jì)。該系統(tǒng)是學(xué)生管理系統(tǒng),應(yīng)以學(xué)生信息為中心,組織相關(guān)程序結(jié)構(gòu)。通過(guò)分析可知,學(xué)生信息管理系統(tǒng)的主要業(yè)務(wù)應(yīng)有:學(xué)生基本信息管理、教師基本信息管理、學(xué)生成績(jī)管理、用戶管理等。2.2功能需求分析通過(guò)業(yè)務(wù)需求分析可知,該系統(tǒng)主要有三類用戶:學(xué)生,教師和系統(tǒng)管理員。因此,該系統(tǒng)的功能可分為學(xué)生信息管理、教師信息管理和成績(jī)管理,具體有以下幾個(gè)方面:學(xué)生:可以對(duì)每個(gè)學(xué)生的信息進(jìn)行添加、修改、刪除和查詢。成績(jī):可以對(duì)每個(gè)學(xué)生所學(xué)科目的成績(jī)進(jìn)行添加、刪除、修改和查詢。教師:可以對(duì)每個(gè)教師的信息進(jìn)行添加、刪除、修改和查詢。2.2.1學(xué)生信息學(xué)生信息主要存儲(chǔ)了學(xué)生的基本情況,包括**、、性別、所在班級(jí)、所在學(xué)院等信息。一個(gè)**可唯一確定一名學(xué)生。學(xué)生信息集中進(jìn)行管理,方便進(jìn)行相關(guān)基本信息的查詢、修改、刪除等活動(dòng),大大簡(jiǎn)化了手續(xù)。2.2.2教師信息教師信息主要存儲(chǔ)了教師的基本情況,包括教師編號(hào)、、性別、職稱、所在學(xué)院等信息。一個(gè)教師編號(hào)可唯一確定一名教師。教師信息集中進(jìn)行管理,方便進(jìn)行查詢、修改、刪除和人事變動(dòng)等活動(dòng),大大簡(jiǎn)化了手續(xù)。2.2.3成績(jī)管理成績(jī)管理的對(duì)象是學(xué)生所學(xué)科目的相應(yīng)成績(jī),對(duì)成績(jī)進(jìn)行集中管理,方便了學(xué)生查詢成績(jī)、教師添加、查詢和修改成績(jī),加快了查詢速度,提高了準(zhǔn)確率,大大簡(jiǎn)化了手續(xù)。學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng)用戶及權(quán)限管理基本數(shù)據(jù)管理信息查詢系統(tǒng)管理基本信息查詢教師信息管理成績(jī)管理學(xué)生信息管理管理員權(quán)限管理用戶權(quán)限管理成績(jī)查詢圖2-1學(xué)生信息管理系統(tǒng)功能模塊圖-.z.3數(shù)據(jù)庫(kù)設(shè)計(jì)3.1Java連接數(shù)據(jù)庫(kù)3.1.1關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù),是建立在關(guān)系數(shù)據(jù)庫(kù)模型基礎(chǔ)上的數(shù)據(jù)庫(kù),借助于集合代數(shù)等概念和方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù),用二維表格形式來(lái)表述實(shí)體與實(shí)體之間關(guān)系。有3種完整性約束:實(shí)體完整性、參照完整性和用戶自定義完整性,其中實(shí)體完整性和參照完整性是關(guān)系數(shù)據(jù)庫(kù)中必不可少的完整性條件,分別表述為主屬性不為空和一表或多表之間具有*種對(duì)應(yīng)關(guān)系、相互制約。3.1.2通過(guò)JDBC訪問(wèn)數(shù)據(jù)庫(kù)JDBC由Java編程語(yǔ)言編寫(xiě)的類和接口組成,是實(shí)現(xiàn)Java與各種數(shù)據(jù)庫(kù)連接的關(guān)鍵,提供了將Java與數(shù)據(jù)庫(kù)連接起來(lái)的程序接口,使用戶可以以SQL的形式編寫(xiě)訪問(wèn)請(qǐng)求,然后傳給數(shù)據(jù)庫(kù),其結(jié)果再由這一接口返回,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)操作的目的。3.2數(shù)據(jù)庫(kù)與基本表設(shè)計(jì)由于該系統(tǒng)數(shù)據(jù)量不大,采用了Access作為數(shù)據(jù)庫(kù),所建的系統(tǒng)數(shù)據(jù)庫(kù)名為“student1”。通過(guò)需求分析、概念設(shè)計(jì)與邏輯設(shè)計(jì),可知該系統(tǒng)數(shù)據(jù)庫(kù)應(yīng)涉及到以下基本表:班級(jí)表、學(xué)生表、教師表,具體結(jié)構(gòu)如下:班級(jí)表(班級(jí)編號(hào),班級(jí)名稱,所屬學(xué)院,班級(jí)人數(shù))該表用于保存班級(jí)信息,其數(shù)據(jù)字典如表3-1所示:表3-1班級(jí)表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說(shuō)明班級(jí)編號(hào)varchar(20)主鍵班級(jí)名稱varchar(20)所屬學(xué)院varchar(20)班級(jí)人數(shù)int學(xué)生表(**,,性別,出生日期,班級(jí)編號(hào))該表用于存儲(chǔ)學(xué)生的基本信息,其數(shù)據(jù)字典如表3-2所示:表3-2學(xué)生表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說(shuō)明**varchar(20)主鍵varchar(20)性別varchar(20)屬性域?yàn)椤澳小?,“女”出生日期data班級(jí)編號(hào)varchar(20)外鍵,參照班級(jí)表中班級(jí)編號(hào)教師表(教師編號(hào),,性別,職稱,所屬學(xué)院,出生日期)該表用于存儲(chǔ)教師的基本信息,其數(shù)據(jù)字典如表3-3所示:表3-3教師表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說(shuō)明教師編號(hào)varchar(20)主鍵varchar(20)性別varchar(20)屬性域?yàn)椤澳小保芭背錾掌赿ata職稱varchar(20)所屬學(xué)院varchar(20)課程表(課程號(hào),課程名,學(xué)分)該表用于存儲(chǔ)學(xué)生可學(xué)課程的基本信息,其數(shù)據(jù)字典如表3-4所示:表3-4課程表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說(shuō)明課程號(hào)varchar(20)主鍵課程名varchar(20)學(xué)分int成績(jī)表(**,課程號(hào),成績(jī),教師編號(hào))該表用于存儲(chǔ)學(xué)生可學(xué)課程的成績(jī)情況,其數(shù)據(jù)字典如表3-5所示:表3-5課程表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說(shuō)明**varchar(20)外鍵,參照學(xué)生表中**課程號(hào)varchar(20)外鍵,參照課程表中課程編號(hào)成績(jī)int教師編號(hào)varchar(20)外鍵,參照教師表中教師編號(hào)-.z.4系統(tǒng)設(shè)計(jì)與實(shí)施4.1EclipseJavaNeon3出于穩(wěn)定性與便利性的考量,本設(shè)計(jì)選用了EclipseJavaNeon3作為程序的開(kāi)發(fā)環(huán)境,Eclipse是著名的跨平臺(tái)的自由集成開(kāi)發(fā)環(huán)境(IDE),最初由OTI和IBM兩家公司的IDE產(chǎn)品開(kāi)發(fā)組創(chuàng)建,它本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性。使用時(shí)可清楚的發(fā)現(xiàn)錯(cuò)誤,并能根據(jù)相應(yīng)規(guī)則進(jìn)行修改,大大簡(jiǎn)化了程序檢查工作。由于packagee*plorer的存在,使得隨時(shí)查找文件變得十分方便。同時(shí)又提供有很便利的數(shù)據(jù)庫(kù)連接方式。EclipseJavaNeon3具有以下四大優(yōu)點(diǎn):(1)從編寫(xiě)、查錯(cuò)、編譯、幫助等等各方面為Java語(yǔ)言貼身定做。(2)可無(wú)限擴(kuò)展的強(qiáng)大插件功能。(3)眾多公司、廠商、組織支持。(4)開(kāi)放,自由,免費(fèi)。4.2結(jié)構(gòu)設(shè)計(jì)該系統(tǒng)用于對(duì)學(xué)生的基本信息與學(xué)生的成績(jī)進(jìn)行管理,主要包括添加、修改和刪除學(xué)生與教師基本信息,錄入、修改和刪除學(xué)生的成績(jī),查詢學(xué)生和教師的基本信息,為了方便,全部操作均在界面中完成。由此,將該系統(tǒng)結(jié)構(gòu)設(shè)計(jì)為登錄模塊、學(xué)生模塊、教師模塊,對(duì)應(yīng)于學(xué)生與教師這兩類主要用戶。由于涉及界面設(shè)計(jì),因此調(diào)用了java.awt.*、java.awt.event.*、java*.swing.*、java.util.*、java*.swing.event.*、java.sql.*等包。4.3文件組織結(jié)構(gòu)學(xué)生信息管理系統(tǒng)中使用的根目錄文件夾是“nnn”,其文件組織結(jié)構(gòu)圖如圖4-1所示:圖4-1項(xiàng)目文件組織結(jié)構(gòu)圖4.4登錄模塊登錄模塊使進(jìn)入學(xué)生信息管理系統(tǒng)的第一個(gè)界面,相當(dāng)于一個(gè)的主頁(yè)。4.4.1設(shè)計(jì)構(gòu)想該系統(tǒng)是學(xué)生信息管理系統(tǒng),用戶為三類:學(xué)生、教師和系統(tǒng)管理員,可在相應(yīng)的權(quán)限圍查詢和更新系統(tǒng)數(shù)據(jù)。因此,不同的用戶在登錄時(shí)需有不同的角色選項(xiàng),此外,還應(yīng)有各自的用戶名和密碼。4.4.2實(shí)現(xiàn)登錄模塊(1)要生成一個(gè)界面,可應(yīng)用AWT知識(shí)。設(shè)置其名字為學(xué)生信息管理系統(tǒng);設(shè)置布局管理器為(null)布局管理器,這樣方便往其中放組件;設(shè)置窗口大小和位置,還要設(shè)置窗口可見(jiàn)性。(2)生成界面后,接下來(lái)就需要實(shí)現(xiàn)每個(gè)功能,在設(shè)計(jì)構(gòu)想中提到的第一個(gè)功能就是要對(duì)操作對(duì)象的身份進(jìn)行選擇,這里要用下拉列表的形式進(jìn)行選擇,也可以用單選按鈕來(lái)完成這個(gè)功能。在這項(xiàng)功能中,首先要選擇身份,所以要定義一個(gè)JLabel來(lái)說(shuō)明,定義完JLabel后,就需要定義一個(gè)JoBo*,也就是下拉列表框。(3)輸入用戶名和密碼。需要用兩個(gè)JLabel來(lái)指明需要輸入用戶名和密碼。輸入用戶名需要定義一個(gè)JTe*tField,也就是單文本框。同時(shí)輸入文本,但輸入密碼和輸入用戶名是不一樣的,它需要定義成JPasswordField,它的輸出結(jié)果為“*****”這樣的形式。(4)創(chuàng)建兩個(gè)按鈕,一個(gè)是登錄按鈕,另一個(gè)是取消登錄按鈕,用來(lái)輸入的用戶名和密碼及選擇的身份進(jìn)行提交。當(dāng)然要對(duì)登錄按鈕事件進(jìn)行事件監(jiān)聽(tīng),首先要驗(yàn)證用戶名和密碼是否正確并對(duì)上,然后根據(jù)選擇的身份來(lái)選擇需要進(jìn)入那個(gè)界面,其代碼如下:publicclassInfo_Managee*tendsFrameimplementsActionListener{JLabelJLUserName=newJLabel("用戶名");JLabelJLPaw=newJLabel("密碼");JLabelJLP=newJLabel("角色");JTe*tFieldJTUserName=newJTe*tField();JPasswordFieldJPsw=newJPasswordField();JTe*tFieldjt=newJTe*tField(10);Stringstr[]={"學(xué)生","教師","管理者"};oBo*JCB=newoBo*(str);utton1=newutton("登錄");utton2=newutton("取消");publicInfo_Manage(){this.setTitle("學(xué)生信息管理系統(tǒng)");this.setLayout(null);JLUserName.setBounds(100,40,100,20);this.add(JLUserName);JTUserName.setBounds(200,40,100,20);this.add(JTUserName);JLPaw.setBounds(100,100,100,20);this.add(JLPaw);JPsw.setBounds(200,100,80,20);this.add(JPsw);JCB.setBounds(200,150,100,20);this.add(JCB);JLP.setBounds(100,150,100,20);this.add(JLP);1.setBounds(100,200,60,20);this.add(1);1.addActionListener(this);2.setBounds(200,200,60,20);this.add(2);2.addActionListener(this);this.setVisible(true);this.setBounds(10,10,400,250);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.e*it(0); } });JCB.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){inth=JCB.getSelectedInde*();if(h==0)student_managesm=newstudent_manage();elseif(h==1)teacher_managetm=newteacher_manage(); } }); }publicvoidactionPerformed(ActionEvente){if(e.getSource()==1){Stringname=JTUserName.getTe*t();Stringpassword=newString(JPsw.getPassword());if((name!=null&&(name.equals("1")))&&(password!=null&&(password.equals("1")))){newstudent_manage();}else{ } } } }其運(yùn)行結(jié)果如圖4-2所示:圖4-2Info_Manage.java的顯示結(jié)果4.5學(xué)生信息模塊當(dāng)選擇“學(xué)生”時(shí),單擊“登錄”按鈕就可以進(jìn)入學(xué)生信息管理系統(tǒng)了,其信息量很大,具體如下所述:4.5.1設(shè)計(jì)構(gòu)想進(jìn)入了學(xué)生信息管理系統(tǒng),就可以對(duì)摸個(gè)學(xué)生的信息進(jìn)行輸入、修改和刪除,也能對(duì)同學(xué)的信息進(jìn)行查詢和對(duì)程序進(jìn)行查詢。當(dāng)打算離開(kāi)時(shí),還要有一個(gè)選項(xiàng)用來(lái)退出學(xué)生信息管理系統(tǒng)。4.5.2實(shí)現(xiàn)學(xué)生信息模塊主界面根據(jù)設(shè)計(jì)構(gòu)想,首先要搭建一個(gè)界面,然后吧學(xué)生信息操作的每一部分分為3大塊,分別是信息、查詢、和其他,并把他們做成菜單形式,最后將對(duì)信息的輸入,修改和刪除做成子菜單添加到信息菜單下;將查詢信息和查詢成績(jī)添加到查詢菜單下;將突出添加到其他菜單下,并把他做成子菜單放在一個(gè)菜單下,這樣做是為了如果以后需要更多的功能,可以很方便的進(jìn)行添加。創(chuàng)建菜單需要的定義JMenu,創(chuàng)建子菜單需要定義JMenuItem,并且要指明是添加到哪個(gè)菜單下面,下面是學(xué)生管理模塊主界面的部分代碼classstudent_managee*tendsJFrameimplementsActionListener{ JMenuBarjm=newJMenuBar(); JMenujm1=newJMenu("信息"); JMenuItemjmi1=newJMenuItem("增加信息"); JMenuItemjmi2=newJMenuItem("刪除信息"); JMenuItemjmi3=newJMenuItem("修改信息"); JMenujm2=newJMenu("查詢"); JMenuItemjmi21=newJMenuItem("基本信息查詢"); JMenuItemjm22=newJMenuItem("成績(jī)查詢"); JMenujm3=newJMenu("其他"); JMenuItemjmi31=newJMenuItem("退出"); //添加組件與設(shè)置位置部分代碼與Info_Manage.java類似publicvoidactionPerformed(ActionEvente){ if(e.getSource()==jmi1)newAddStudent(); if(e.getSource()==jmi2)newDeleteStudent(); if(e.getSource()==jmi3)newGetStudent(); if(e.getSource()==jmi21)newSetStudent(); if(e.getSource()==jmi31)newUsingE*it().setVisible(true); if(e.getSource()==jm22)newSetGrade(); }}其運(yùn)行結(jié)果如圖4-3所示:圖4-3student_manage.java的顯示結(jié)果添加信息每個(gè)子菜單都對(duì)應(yīng)著一個(gè)操作界面,接下來(lái)對(duì)每一個(gè)子菜單進(jìn)行講解。當(dāng)選擇信息菜單下的“增加信息”子菜單時(shí),將彈出如圖所示的界面,它調(diào)用了AddStudent.java類實(shí)現(xiàn)該功能。通過(guò)對(duì)“增加信息”這一子菜單設(shè)置監(jiān)聽(tīng),彈出界面。AddStudent.java的代碼如下:classAddStudente*tendsJFrameimplementsActionListener{JLabelJL=newJLabel("添加基本信息",JLabel.CENTER);JLabelJLNumber=newJLabel("**");JTe*tFieldJTNumber=newJTe*tField();JLabelJLName=newJLabel("");JTe*tFieldJTName=newJTe*tField();JLabelJLClass=newJLabel("班級(jí)");JTe*tFieldJTClass=newJTe*tField();JLabelJLse*=newJLabel("性別");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男");JRadioButtonJRB2=newJRadioButton("女");JLabelJL1=newJLabel("學(xué)院");JTe*tFieldJT1=newJTe*tField();JLabelJL2=newJLabel("生日");JTe*tFieldJT2=newJTe*tField();uttonAdd=newutton("添加");uttonNe*t=newutton("重置");uttonE*it=newutton("退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與Info_Manage.java類似publicvoidactionPerformed(ActionEvente){ if(e.getSource()==Add){ Stringsnumber=JTNumber.getTe*t(); Stringsname=JTName.getTe*t(); Stringsclass=JTClass.getTe*t(); Stringsse*="女"; if(JRB1.isSelected()) sse*="男"; Stringscollect=JT1.getTe*t(); Stringsbir=JT2.getTe*t(); sql="select*fromstudentwhereid='"+snumber+"'"; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncot=DriverManager.getConnection( "jdbc:odbc:student1","",""); Statementstm=cot.createStatement(); ResultSetrs=stm.e*ecuteQuery(sql); if(rs.ne*t()) JOptionPane.showMessageDialog(null,"該已存在!"); else{ sql="insertintostudentvalues('"+snumber+"','" +sname+"','"+sclass+"','"+sse*+"','" +scollect+"','"+sbir+"')"; inti=stm.e*ecuteUpdate(sql); if(i>0)JOptionPane.showMessageDialog(null,"添加成功!"); elseJOptionPane.showMessageDialog(null,"刪除失??!"); } } catch(E*ceptionee){ } } if(e.getSource()==Ne*t){ JTNumber.setTe*t(null); JTName.setTe*t(null); JTClass.setTe*t(null); JT1.setTe*t(null); JT2.setTe*t(null); } if(e.getSource()==E*it){ setVisible(false); }}}其運(yùn)行結(jié)果如圖4-4所示:圖4-4AddStudent.java的顯示結(jié)果4.5.4刪除信息當(dāng)選擇信息菜單下的刪除信息子菜單是,將彈出圖所示的界面,它調(diào)用了DeleteStudent.java類實(shí)現(xiàn)該功能,其代碼如下:classDeleteStudente*tendsJFrameimplementsActionListener{JLabelJL=newJLabel("刪除基本信息",JLabel.CENTER);JLabelJLNumber=newJLabel("**");JTe*tFieldJTNumber=newJTe*tField();JLabelJLName=newJLabel("");JTe*tFieldJTName=newJTe*tField();uttonDel=newutton("刪除");uttonNe*t=newutton("重置");uttonE*it=newutton("退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與Info_Manage.java類似publicvoidactionPerfomed(ActionEvente){if(e.getSource()==Del){Stringsnumber=JTNumber.getTe*t();Stringsname=JTName.getTe*t();sql="select*fromstudentwhereId='"+snumber+"'";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncot=DriverManager.getConnection("jdbc:odbc:student1","","");Statementstm=cot.createStatement();ResultSetrs=stm.e*ecuteQuery(sql);if(rs.ne*t()){sql="delete*fromstudentwhereId='"+snumber+"'";intn=stm.e*ecuteUpdate(sql);if(n>0)JOptionPane.showMessageDialog(null,"刪除成功");elseJOptionPane.showMessageDialog(null,"刪除失敗"); }elseJOptionPane.showMessageDialog(null,"此用戶不存在"); }catch(E*ceptioner){ } }if(e.getSource()==Ne*t){JTNumber.setTe*t(null);JTName.setTe*t(null); }if(e.getSource()==E*it)setVisible(false);}}其運(yùn)行結(jié)果如圖4-5所示:圖4-5DeleteStudent.java的顯示結(jié)果修改信息當(dāng)選擇“信息”菜單下的“修改信息”子菜單時(shí),將彈出如圖所示的界面,他將點(diǎn)用了GetStudent.java類實(shí)現(xiàn)該功能。GetStudent.java的代碼如下:classGetStudente*tendsJFrameimplementsActionListener{JLabelJL=newJLabel("學(xué)生基本信息",JLabel.CENTER);JLabelJLNumber=newJLabel("**");JTe*tFieldJTNumber=newJTe*tField();JLabelJLName=newJLabel("");JTe*tFieldJTName=newJTe*tField();JLabelJLClass=newJLabel("班級(jí)");JTe*tFieldJTClass=newJTe*tField();JLabelJLse*=newJLabel("性別");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男");JRadioButtonJRB2=newJRadioButton("女");JLabelJL1=newJLabel("學(xué)院");JTe*tFieldJT1=newJTe*tField();JLabelJL2=newJLabel("生日");JTe*tFieldJT2=newJTe*tField();uttonGet=newutton("修改");uttonNe*t=newutton("取消");uttonE*it=newutton("退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與Info_Manage.java類似publicvoidactionPerformed(ActionEvente){if(e.getSource()==Get){Stringsnumber=JTNumber.getTe*t();Stringsname=JTName.getTe*t();Stringsclass=JTClass.getTe*t();Stringsse*="女",sql;if(JRB1.isSelected())sse*="男";Stringscollect=JT1.getTe*t();Stringsbir=JT2.getTe*t();sql="select*fromstudentwhereld='"+snumber+"'";try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectioncot=DriverManager.getConnection("jdbc:odbc:student1","",""); Statementstm=cot.createStatement(); ResultSetrs=stm.e*ecuteQuery(sql);if(rs.ne*t()){sql="updatestudentsetname='"+sname+"',class='" +sclass+"',se*='"+sse*+"',collect='" +scollect+"',bir='"+sbir+"'whereld='" +snumber+"'";intn=stm.e*ecuteUpdate(sql);if(n>0)JOptionPane.showMessageDialog(null,"修改成功");elseJOptionPane.showMessageDialog(null,"修改失敗!"); }elseJOptionPane.showMessageDialog(null,"此用戶不存在!"); }catch(E*ceptioner){ } }if(e.getSource()==Ne*t){JTNumber.setTe*t(null);JTName.setTe*t(null);JTClass.setTe*t(null);JT1.setTe*t(null);JT2.setTe*t(null); }if(e.getSource()==E*it){setVisible(false); } }publicstaticvoidmain(Stringargs[]){newGetStudent(); }}其運(yùn)行結(jié)果如圖4-6所示:圖4-6GetStudent.java的顯示結(jié)果4.5.6基本信息查詢當(dāng)選擇“查詢”菜單下的“基本信息查詢”子菜單時(shí),將彈出如圖所示的界面,它調(diào)用了SetStudent.java類實(shí)現(xiàn)該功能。SetStudent.java的代碼如下:classSetStudente*tendsJFrameimplementsActionListener{JLabelJL=newJLabel("查詢基本信息",JLabel.CENTER);JLabelJLNumber=newJLabel("**");JTe*tFieldJTNumber=newJTe*tField();JLabelJLName=newJLabel("");JTe*tFieldJTName=newJTe*tField();JLabelJLClass=newJLabel("班級(jí)");JTe*tFieldJTClass=newJTe*tField();JLabelJLse*=newJLabel("性別");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男");JRadioButtonJRB2=newJRadioButton("女");JLabelJL1=newJLabel("學(xué)院");JTe*tFieldJT1=newJTe*tField();JLabelJL2=newJLabel("生日");JTe*tFieldJT2=newJTe*tField();uttonSet=newutton("查詢");uttonNe*t=newutton("重置");uttonE*it=newutton("退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與Info_Manage.java類似publicvoidactionperfoemaed(ActionEvente){if(e.getSource()==Set){Stringsnumber=JTNumber.getTe*t();Stringsname=JTName.getTe*t();Stringsclass=JTClass.getTe*t();Stringsse*="女";if(JRB1.isSelected())sse*="男";Stringscollect=JT1.getTe*t();Stringsbir=JT2.getTe*t();sql="select*fromstudentwhereId='"+snumber+"'";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncot=DriverManager.getConnection("jdbc.odbc.student1","","");Statementstm=cot.createStatement();ResultSetrs=stm.e*ecuteQuery(sql);if(rs.ne*t()){Stringname=rs.getString(2);JTName.setTe*t(name);Stringclas=rs.getString(3);JTClass.setTe*t(clas);Stringse*=rs.getString(4);JRB1.setTe*t(se*);Stringcollect=rs.getString(5);JT1.setTe*t(collect);Stringbir=rs.getString(6);JT2.setTe*t(bir);intn=stm.e*ecuteUpdate(sql);if(n>0)JOptionPane.showMessageDialog(null,"查詢成功");elseJOptionPane.showMessageDialog(null,"查詢失敗"); }ElseJOptionPane.showMessageDialog(null,"此用戶不存在"); }catch(E*ceptionee){ } }if(e.getSource()==Ne*t){JTNumber.setTe*t(null);JTName.setTe*t(null);JTClass.setTe*t(null);JT1.setTe*t(null);JT2.setTe*t(null); }if(e.getSource()==E*it)setVisible(false); }}其運(yùn)行結(jié)果如圖4-6所示:圖4-7SetStudent.java的顯示結(jié)果4.5.7成績(jī)查詢當(dāng)選擇“查詢”菜單下的“成績(jī)查詢”子菜單時(shí),調(diào)用SetGrade.java類來(lái)實(shí)現(xiàn)功能。SetGrade.java的代碼如下:classSetGradee*tendsJFrameimplementsActionListener{JLabelJL=newJLabel("查詢成績(jī)",JLabel.CENTER);JLabelJLNumber=newJLabel("**");JTe*tFieldJTNumber=newJTe*tField();JLabelJLName=newJLabel("");JTe*tFieldJTName=newJTe*tField();JLabelJLClass=newJLabel("大學(xué)英語(yǔ)");JTe*tFieldJTClass=newJTe*tField();JLabelJLse*=newJLabel("性別");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男");JRadioButtonJRB2=newJRadioButton("女");JLabelJL1=newJLabel("高等數(shù)學(xué)");JTe*tFieldJT1=newJTe*tField();JLabelJL2=newJLabel("班級(jí)");JTe*tFieldJT2=newJTe*tField();uttonSet=newutton("查詢");uttonNe*t=newutton("重置");uttonE*it=newutton("退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與Info_Manage.java類似publicvoidactionPerformed(ActionEvente){if(e.getSource()==Set){Stringsnumber=JTNumber.getTe*t();Stringsname=JTName.getTe*t();Stringsclass=JTClass.getTe*t();Stringsse*="女";if(JRB1.isSelected())sse*="男";Stringscollect=JT1.getTe*t();Stringsbir=JT2.getTe*t();sql="select*fromgradewhereld='"+snumber+"'";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncot=DriverManager.getConnection("jdbc:odbc:student1","","");Statementstm=cot.createStatement();ResultSetrs=stm.e*ecuteQuery(sql);if(rs.ne*t()){Stringname=rs.getString(2);JTName.setTe*t(name);Stringclas=rs.getString(3);JTClass.setTe*t(clas);Stringse*=rs.getString(4);JRB1.setTe*t(se*);Stringcollect=rs.getString(5);JT1.setTe*t(collect);Stringbir=rs.getString(6);JT2.setTe*t(bir);intn=stm.e*ecuteUpdate(sql);if(n>0)JOptionPane.showMessageDialog(null,"查詢成功!");elseJOptionPane.showMessageDialog(null,"查詢失敗!"); }elseJOptionPane.showMessageDialog(null,"此用戶不存在!"); }catch(E*ceptionee){ } }if(e.getSource()==Ne*t){JTNumber.setTe*t(null);JTName.setTe*t(null);JTClass.setTe*t(null);JT1.setTe*t(null);JT2.setTe*t(null); }if(e.getSource()==E*it)setVisible(false); }}其運(yùn)行結(jié)果如圖4-8所示:圖4-8SetGrade.java的顯示結(jié)果4.5.8退出系統(tǒng)當(dāng)選擇“其他”菜單下的“退出”子菜單時(shí)將彈出如圖所示的界面,它調(diào)用了UssingE*it.java類實(shí)現(xiàn)該功能。其代碼如下:classUsingE*ite*tendsJFrame
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- grs裝飾承攬合同范例
- 勞務(wù)合同范例無(wú)社保
- 加盟鹵菜合同范本
- 農(nóng)村老家蓋房子合同范例
- 入股露營(yíng)基地合同范本
- 個(gè)人車輛出售合同范例
- 供貨抵押合同范例
- 出差合同范例
- 基于陶行知教育思想探索小學(xué)語(yǔ)文創(chuàng)新教學(xué)模式的構(gòu)建與實(shí)踐研究
- 2022年清云科技大學(xué)自考英語(yǔ)(二)練習(xí)題(附答案解析)
- 2024年高考文綜(海南卷)政治試題及答案
- GB/T 4706.118-2024家用和類似用途電器的安全第118部分:皮膚美容護(hù)理器具的特殊要求
- 專題03 讀后續(xù)寫(xiě)負(fù)面消極情緒細(xì)節(jié)描寫(xiě)(害怕、羞愧、悲傷、生氣等高分定律 )-【高頻 熱點(diǎn)】2024年高考英語(yǔ)話題寫(xiě)作通關(guān)必攻略含解析
- 【年產(chǎn)1000噸富硒沙棘果汁工藝生產(chǎn)設(shè)計(jì)16000字(論文)】
- 聲音的產(chǎn)生省公開(kāi)課一等獎(jiǎng)新名師課比賽一等獎(jiǎng)?wù)n件
- 人人都是維護(hù)國(guó)家安全主角
- 《農(nóng)村生活污水運(yùn)維常見(jiàn)問(wèn)題與處理導(dǎo)則》
- 《HSK標(biāo)準(zhǔn)教程1》第1課課件
- 2024年液化石油氣庫(kù)站工理論考試題庫(kù)(含答案)
- GA/T 2015-2023芬太尼類藥物專用智能柜通用技術(shù)規(guī)范
- 小學(xué)數(shù)學(xué)自主合作探究學(xué)習(xí)的研究課題研究方案
評(píng)論
0/150
提交評(píng)論