




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2016-2017學(xué)年第2學(xué)期經(jīng)濟(jì)管理學(xué)院實(shí)踐教學(xué)
成績評定表實(shí)踐教學(xué)項(xiàng)目面向?qū)ο蟪绦蛟O(shè)計(jì)專業(yè)信息管理與信息系統(tǒng)學(xué)生姓名班級學(xué)號評語成績?nèi)掌?/p>
課程實(shí)踐任務(wù)書學(xué)院經(jīng)濟(jì)管理學(xué)院專業(yè)信息管理與信息系統(tǒng)姓名學(xué)號15040602150406021504060222課程名稱面向?qū)ο蟪绦蛟O(shè)計(jì)設(shè)計(jì)題目學(xué)生信息管理系統(tǒng)程序設(shè)計(jì)設(shè)計(jì)要求與任務(wù):使用任意一款JAVA開發(fā)工具開發(fā)一個實(shí)用的應(yīng)用系統(tǒng)?如記事本、計(jì)算器、繪圖軟件、JSP網(wǎng)站或者M(jìn)IS??梢圆扇/S或者C/S模式。此次設(shè)計(jì)的具體要求還包括:(1) 根據(jù)課程設(shè)計(jì)時間選擇適當(dāng)規(guī)模大小的設(shè)計(jì)題目.分小組進(jìn)行設(shè)計(jì)。(2) 小組組長為組員分配任務(wù)?根據(jù)合理的安排.按照軟件開發(fā)的流程及方法.踏實(shí)地開展課程設(shè)計(jì)活動。(3) 課程設(shè)計(jì)包括開發(fā)編碼和撰寫相關(guān)文檔。最后提交詳細(xì)的課程設(shè)計(jì)報(bào)告。(4) 開發(fā)出可上機(jī)運(yùn)行的JAVA應(yīng)用.并上機(jī)測試。工作計(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)用測試、整理資料、撰寫報(bào)告、準(zhǔn)備驗(yàn)收指導(dǎo)教師(簽字):年月日專業(yè)負(fù)責(zé)人(簽字):年月日學(xué)院院長(簽字):年月日摘要信息技術(shù)的快速發(fā)展的同時也帶來了社會各個行業(yè)的發(fā)展。它的發(fā)展已經(jīng)深入到社會的各個角落。作為社會發(fā)展的前沿技術(shù).各行各業(yè)只要對其合理的進(jìn)行運(yùn)用.必將會帶來巨大的便捷。成功的運(yùn)用信息技術(shù)將為各類學(xué)校學(xué)生信息管理帶來無限便利。作為計(jì)算機(jī)應(yīng)用的一部分.使用學(xué)生信息管理系統(tǒng)對學(xué)生檔案進(jìn)行管理.有著手工管理所無法比擬的優(yōu)點(diǎn).如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等.大地提高學(xué)生檔案管理的效率。本文介紹了系統(tǒng)開發(fā)的全過程。該系統(tǒng)以Windows為操作平臺.Java為開發(fā)語言.Access為數(shù)據(jù)庫.Eclipse為開發(fā)工具,使用JDBC技術(shù)進(jìn)行連接.實(shí)現(xiàn)了在可視化的基礎(chǔ)上.利用數(shù)據(jù)庫進(jìn)行后臺管理。系統(tǒng)由學(xué)生和老師基本信息添加、學(xué)生和老師基本信息查詢、學(xué)生和老師基本信息刪除、學(xué)生和老師基本信息修改及退出系統(tǒng)等功能模塊組成.基本功能較全面。用戶界面友好、清晰、操作簡便.易學(xué)易用;系統(tǒng)可讀性好.易于維護(hù)、更新.安全性較好。采用傳統(tǒng)下拉菜單功能選擇.方便、快捷、一目了然.并且在一個窗體中進(jìn)行操作.可視化強(qiáng)。采用鏈入數(shù)據(jù)庫進(jìn)行存儲.可動態(tài)進(jìn)行查看、操作.這樣的系統(tǒng)可修改性較強(qiáng)。關(guān)鍵字:面向?qū)ο?;Eclipse;JDBC目錄TOC\o"1-5"\h\z\o"CurrentDocument"1前言 1\o"CurrentDocument"課題簡介 1\o"CurrentDocument"設(shè)計(jì)目的 1\o"CurrentDocument"2需求分析 2\o"CurrentDocument"業(yè)務(wù)需求分析 2\o"CurrentDocument"功能需求分析 2\o"CurrentDocument"2.2.1學(xué)生信息 2\o"CurrentDocument"2.2.2教師信息 2\o"CurrentDocument"2.2.3成績管理 3\o"CurrentDocument"3數(shù)據(jù)庫設(shè)計(jì) 4\o"CurrentDocument"3.1Java連接數(shù)據(jù)庫 4\o"CurrentDocument"關(guān)系數(shù)據(jù)庫概述 4\o"CurrentDocument"3.1.2通過JDBC訪問數(shù)據(jù)庫 4\o"CurrentDocument"3.2數(shù)據(jù)庫與基本表設(shè)計(jì) 4\o"CurrentDocument"4系統(tǒng)設(shè)計(jì)與實(shí)施 7\o"CurrentDocument"EclipseJavaNeon3 7\o"CurrentDocument"結(jié)構(gòu)設(shè)計(jì) 7\o"CurrentDocument"4.3文件組織結(jié)構(gòu) 7\o"CurrentDocument"登錄模塊 8\o"CurrentDocument"4.4.1設(shè)計(jì)構(gòu)想 8\o"CurrentDocument"4.4.2實(shí)現(xiàn)登錄模塊 8\o"CurrentDocument"學(xué)生信息模塊 11\o"CurrentDocument"4.5.1設(shè)計(jì)構(gòu)想 114.5.2實(shí)現(xiàn)學(xué)生信息模塊主界面 11\o"CurrentDocument"4.5.3添加信息 12\o"CurrentDocument"4.5.4刪除信息 14\o"CurrentDocument"4.5.5修改信息 15\o"CurrentDocument"4.5.6基本信息查詢 17\o"CurrentDocument"4.5.7成績查詢 19\o"CurrentDocument"4.5.8退出系統(tǒng) 21\o"CurrentDocument"教師信息模塊 22\o"CurrentDocument"結(jié)束語 26\o"CurrentDocument"參考文獻(xiàn) 27\o"CurrentDocument"附錄A 28前言課題簡介學(xué)生信息檔案的管理對于學(xué)校的管理者來說至關(guān)重要.學(xué)生信息是高等學(xué)校非常重要的一項(xiàng)數(shù)據(jù)資源.是一個教育單位不可缺少一部分。近幾年來.國家政策的調(diào)整.我國高等院校大規(guī)模擴(kuò)招.給高等院校的教學(xué)管理、學(xué)生管理、后勤管理等方面都帶來不少的沖擊。其包含的數(shù)據(jù)量大.涉及的人員面廣.而且需要及時更新.故較為復(fù)雜.難以單純地依靠人工管理.而且傳統(tǒng)的人工管理方式既不易于規(guī)范化.管理效率也不高。目前我國各類高等院校中還有相當(dāng)一部分學(xué)生檔案管理還停留在紙介質(zhì)的基礎(chǔ)上.中、小學(xué)對學(xué)生檔案的管理更是落后.這樣的管理機(jī)制嚴(yán)重浪費(fèi)人力和物力.已經(jīng)不能適應(yīng)時代發(fā)展的要求。計(jì)算機(jī)應(yīng)用的普及已進(jìn)入人類社會生活的各個領(lǐng)域.并發(fā)揮著越來越重要的作用。這種傳統(tǒng)的手工管理模式必然被以計(jì)算機(jī)為物質(zhì)基礎(chǔ)的信息管理方法所取代。作為計(jì)算機(jī)應(yīng)用的一部分.使用學(xué)生信息管理系統(tǒng)對學(xué)生檔案進(jìn)行管理.有著手工管理所無法比擬的優(yōu)點(diǎn).如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生檔案管理的效率.也是學(xué)校向科學(xué)化、正規(guī)化管理發(fā)展的必要條件。設(shè)計(jì)目的對學(xué)生信息管理系統(tǒng).目的是為了對學(xué)校的學(xué)生信息管理工作進(jìn)行系統(tǒng)的管理.以提高工作效率。通過程序設(shè)計(jì).開發(fā)出學(xué)生信息管理系統(tǒng)代替相應(yīng)的手工管理。學(xué)生信息管理系統(tǒng)可為用戶提供充足的信息和快捷的查詢手段.不但可以實(shí)現(xiàn)教師、學(xué)生的信息錄入、修改與刪除.而且可以實(shí)現(xiàn)學(xué)生成績的信息錄入、修改與刪除.同時可以對所有的信息進(jìn)行查詢.實(shí)現(xiàn)學(xué)校的規(guī)范化管理。需求分析業(yè)務(wù)需求分析開發(fā)一個系統(tǒng)前.首先應(yīng)該對該系統(tǒng)要實(shí)現(xiàn)的功能進(jìn)行整體的分析和規(guī)劃.確保在開發(fā)過程中不會出現(xiàn)重大缺陷和漏洞。因此.在軟件開發(fā)的過程中應(yīng)嚴(yán)格按照軟件工程的流程進(jìn)行系統(tǒng)的分析與設(shè)計(jì)。該系統(tǒng)是學(xué)生管理系統(tǒng).應(yīng)以學(xué)生信息為中心.組織相關(guān)程序結(jié)構(gòu)。通過分析可知.學(xué)生信息管理系統(tǒng)的主要業(yè)務(wù)應(yīng)有:學(xué)生基本信息管理、教師基本信息管理、學(xué)生成績管理、用戶管理等。功能需求分析通過業(yè)務(wù)需求分析可知.該系統(tǒng)主要有三類用戶:學(xué)生.教師和系統(tǒng)管理員。因此.該系統(tǒng)的功能可分為學(xué)生信息管理、教師信息管理和成績管理.具體有以下幾個方面:(1)學(xué)生:可以對每個學(xué)生的信息進(jìn)行添加、修改、刪除和查詢。(2)成績:可以對每個學(xué)生所學(xué)科目的成績進(jìn)行添加、刪除、修改和查詢。(3)教師:可以對每個教師的信息進(jìn)行添加、刪除、修改和查詢。學(xué)生信息學(xué)生信息主要存儲了學(xué)生的基本情況.包括學(xué)號、姓名、性別、所在班級、所在學(xué)院等信息。一個學(xué)號可唯一確定一名學(xué)生。學(xué)生信息集中進(jìn)行管理.方便進(jìn)行相關(guān)基本信息的查詢、修改、刪除等活動.大大簡化了手續(xù)。教師信息教師信息主要存儲了教師的基本情況.包括教師編號、姓名、性別、職稱、所在學(xué)院等信息。一個教師編號可唯一確定一名教師。教師信息集中進(jìn)行管理.方便進(jìn)行查詢、修改、刪除和人事變動等活動.大大簡化了手續(xù)。
成績管理成績管理的對象是學(xué)生所學(xué)科目的相應(yīng)成績.對成績進(jìn)行集中管理.方便了學(xué)生查詢成績、教師添加、查詢和修改成績.加快了查詢速度.提高了準(zhǔn)確率.大大簡化了手續(xù)。圖2-1學(xué)生信息管理系統(tǒng)功能模塊圖數(shù)據(jù)庫設(shè)計(jì)Java連接數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫概述關(guān)系數(shù)據(jù)庫.是建立在關(guān)系數(shù)據(jù)庫模型基礎(chǔ)上的數(shù)據(jù)庫.借助于集合代數(shù)等概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù).用二維表格形式來表述實(shí)體與實(shí)體之間關(guān)系有3種完整性約束:實(shí)體完整性、參照完整性和用戶自定義完整性.其中實(shí)體完整性和參照完整性是關(guān)系數(shù)據(jù)庫中必不可少的完整性條件.分別表述為主屬性不為空和一表或多表之間具有某種對應(yīng)關(guān)系、相互制約。通過JDBC訪問數(shù)據(jù)庫JDBC由Java編程語言編寫的類和接口組成.是實(shí)現(xiàn)Java與各種數(shù)據(jù)庫連接的關(guān)鍵.提供了將Java與數(shù)據(jù)庫連接起來的程序接口.使用戶可以以SQL的形式編寫訪問請求.然后傳給數(shù)據(jù)庫.其結(jié)果再由這一接口返回.從而實(shí)現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)操作的目的。數(shù)據(jù)庫與基本表設(shè)計(jì)由于該系統(tǒng)數(shù)據(jù)量不大.采用了Access作為數(shù)據(jù)庫.所建的系統(tǒng)數(shù)據(jù)庫名為“student1”。通過需求分析、概念設(shè)計(jì)與邏輯設(shè)計(jì)?可知該系統(tǒng)數(shù)據(jù)庫應(yīng)涉及到以下基本表:班級表、學(xué)生表、教師表.具體結(jié)構(gòu)如下:班級表(班級編號?班級名稱?所屬學(xué)院?班級人數(shù))該表用于保存班級信息?其數(shù)據(jù)字典如表3-1所示:表3-1班級表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明班級編號varchar(20)主鍵班級名稱varchar(20)所屬學(xué)院varchar(20)班級人數(shù)int2)學(xué)生表(學(xué)號.姓名.性別.出生日期.班級編號)該表用于存儲學(xué)生的基本信息.其數(shù)據(jù)字典如表3-2所示表3-2學(xué)生表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明學(xué)號varchar(20)主鍵姓名varchar(20)性別varchar(20)屬性域?yàn)椤澳小?“女”出生日期data班級編號varchar(20)外鍵?參照班級表中班級編號(3)教師表(教師編號?姓名?性別?職稱?所屬學(xué)院?出生日期)該表用于存儲教師的基本信息.其數(shù)據(jù)字典如表3-3所示:表3-3教師表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明教師編號varchar(20)主鍵姓名varchar(20)性別varchar(20)屬性域?yàn)椤澳小?“女”出生日期data職稱varchar(20)所屬學(xué)院varchar(20)
4)課程表(課程號.課程名.學(xué)分)該表用于存儲學(xué)生可學(xué)課程的基本信息.其數(shù)據(jù)字典如表3-4所示表3-4課程表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明課程號varchar(20)主鍵課程名varchar(20)學(xué)分int5)成績表(學(xué)號.課程號.成績.教師編號)該表用于存儲學(xué)生可學(xué)課程的成績情況.其數(shù)據(jù)字典如表3-5所示表3-5課程表數(shù)據(jù)字典字段名稱數(shù)據(jù)類型說明學(xué)號varchar(20)外鍵?參照學(xué)生表中學(xué)號課程號varchar(20)外鍵.參照課程表中課程編號成績int教師編號varchar(20)外鍵.參照教師表中教師編號系統(tǒng)設(shè)計(jì)與實(shí)施EclipseJavaNeon3出于穩(wěn)定性與便利性的考量.本設(shè)計(jì)選用了EclipseJavaNeon3作為程序的開發(fā)環(huán)境.Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE).最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建.它本身只是一個框架平臺?但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。使用時可清楚的發(fā)現(xiàn)錯誤.并能根據(jù)相應(yīng)規(guī)則進(jìn)行修改.大大簡化了程序檢查工作。由于packageexplorer的存在.使得隨時查找文件變得十分方便。同時又提供有很便利的數(shù)據(jù)庫連接方式。EclipseJavaNeon3具有以下四大優(yōu)點(diǎn):(1)從編寫、查錯、編譯、幫助等等各方面為Java語言貼身定做。(2)可無限擴(kuò)展的強(qiáng)大插件功能。(3)眾多公司、廠商、組織支持。(4)開放.自由.免費(fèi)。結(jié)構(gòu)設(shè)計(jì)該系統(tǒng)用于對學(xué)生的基本信息與學(xué)生的成績進(jìn)行管理.主要包括添加、修改和刪除學(xué)生與教師基本信息.錄入、修改和刪除學(xué)生的成績.查詢學(xué)生和教師的基本信息.為了方便.全部操作均在界面中完成。由此.將該系統(tǒng)結(jié)構(gòu)設(shè)計(jì)為登錄模塊、學(xué)生模塊、教師模塊.對應(yīng)于學(xué)生與教師這兩類主要用戶。由于涉及界面設(shè)計(jì).因此調(diào)用了java.awt.*、java.awt.event.*、javax.swing.*、java.util.*、javax.swing.event.*、java.sql.*等包。文件組織結(jié)構(gòu)學(xué)生信息管理系統(tǒng)中使用的根目錄文件夾是“nnn”?其文件組織結(jié)構(gòu)圖如圖4-1所示:v畀nnn7鍔src7nnn1巫AddGrade.javaJUAddStudent.javaQAddteacher.javaJUDeleteGrade.javaJUDeleteStudent.javaJXDeleteTeacher.javaJUGetGrade.javaJUGetStudent.java巫GetTeacher.java也InfoManage.javaJUSetGrade.javaJUSetStudent.javaJUSetTeacher.javaJUstudentmanagejavaJUteachermanage.java直UsingExit.javaUsingExit1.java>JRESystemLibrary[JavaSE-1圖4-1項(xiàng)目文件組織結(jié)構(gòu)圖登錄模塊登錄模塊使進(jìn)入學(xué)生信息管理系統(tǒng)的第一個界面.相當(dāng)于一個網(wǎng)站的主頁。設(shè)計(jì)構(gòu)想該系統(tǒng)是學(xué)生信息管理系統(tǒng).用戶為三類:學(xué)生、教師和系統(tǒng)管理員.可在相應(yīng)的權(quán)限范圍內(nèi)查詢和更新系統(tǒng)數(shù)據(jù)。因此.不同的用戶在登錄時需有不同的角色選項(xiàng).此外.還應(yīng)有各自的用戶名和密碼。實(shí)現(xiàn)登錄模塊(1)要生成一個界面.可應(yīng)用AWT知識。設(shè)置其名字為學(xué)生信息管理系統(tǒng);設(shè)置布局管理器為(null)布局管理器?這樣方便往其中放組件;設(shè)置窗口大小和位置.還要設(shè)置窗口可見性。(2)生成界面后.接下來就需要實(shí)現(xiàn)每個功能.在設(shè)計(jì)構(gòu)想中提到的第一個功能就是要對操作對象的身份進(jìn)行選擇.這里要用下拉列表的形式進(jìn)行選擇.也可以用單選按鈕來完成這個功能。在這項(xiàng)功能中.首先要選擇身份.所以要定義一個JLabel來說明.定義完JLabel后.就需要定義一個JComoBox.也就是下拉列表框。輸入用戶名和密碼。需要用兩個JLabel來指明需要輸入用戶名和密碼。輸入用戶名需要定義一個JTextField?也就是單文本框。同時輸入文本?但輸入密碼和輸入用戶名是不一樣的?它需要定義成JPasswordField.它的輸出結(jié)果為“*****”這樣的形式。創(chuàng)建兩個按鈕?一個是登錄按鈕?另一個是取消登錄按鈕.用來輸入的用戶名和密碼及選擇的身份進(jìn)行提交。當(dāng)然要對登錄按鈕事件進(jìn)行事件監(jiān)聽?首先要驗(yàn)證用戶名和密碼是否正確并對上.然后根據(jù)選擇的身份來選擇需要進(jìn)入那個界面.其代碼如下:publicclassInfo_ManageextendsFrameimplementsActionListener{JLabelJLUserName=newJLabel("用戶名");JLabelJLPaw=newJLabel("密碼");JLabelJLP=newJLabelC角色");JTextFieldJTUserName=newJTextField();JPasswordFieldJPsw=newJPasswordField();JTextFieldjt=newJTextField(10);Stringstr[]={"學(xué)生","教師","管理者"};JComboBoxJCB=newJComboBoxstr);JButtonJB1二newJButton"登錄");JButtonJB2=newJButton"取消");publicInfo_Manage(){this.setTitle"學(xué)生信息管理系統(tǒng));this.setLayoutnull);JLUserNam?setBounds(100,40,100,20);this.add(JLUserNam);JTUserNam?setBounds(200,40,100,20);this.add(JTUserNam);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);JB1.setBounds(100,200,60,20);this.add(JB1);JB1.addActionListenerthis);JB2.setBounds(200,200,60,20);this.add(JB2);JB2.addActionListenerthis);this.setVisibletrue);this.setBounds(10,10,400,250);addWindowListenernewWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});JCB.addActionListenernewActionListener(){publicvoidactionPerformed(ActionEvente){inth=JCB.getSelectedIndex();if(h==0)student_managesm=newstudent_manage();elseif(h==1)teacher_managetm=newteacher_manage();}});}publicvoidactionPerformed(ActionEvente){if(e.getSource()=JB1){Stringname=JTUserNam.getText();Stringpassword=newString(JPsw.getPassword());if((name!=null&&(name.equals("1")))&&(password!=null&&(password.equals("1")))){newstudent_manage();}else{}}}其運(yùn)行結(jié)果如圖4-2所示:£|學(xué)主信息管理M統(tǒng) 一□X圖4-2Info_Manage.java的顯示結(jié)果學(xué)生信息模塊當(dāng)選擇“學(xué)生”時.單擊“登錄”按鈕就可以進(jìn)入學(xué)生信息管理系統(tǒng)了.其信息量很大.具體如下所述:4.5.1設(shè)計(jì)構(gòu)想進(jìn)入了學(xué)生信息管理系統(tǒng).就可以對摸個學(xué)生的信息進(jìn)行輸入、修改和刪除.也能對同學(xué)的信息進(jìn)行查詢和對程序進(jìn)行查詢。當(dāng)打算離開時.還要有一個選項(xiàng)用來退出學(xué)生信息管理系統(tǒng)。實(shí)現(xiàn)學(xué)生信息模塊主界面根據(jù)設(shè)計(jì)構(gòu)想.首先要搭建一個界面.然后吧學(xué)生信息操作的每一部分分為3大塊.分別是信息、查詢、和其他.并把他們做成菜單形式.最后將對信息的輸入.修改和刪除做成子菜單添加到信息菜單下;將查詢信息和查詢成績添加到查詢菜單下;將突出添加到其他菜單下.并把他做成子菜單放在一個菜單下.這樣做是為了如果以后需要更多的功能.可以很方便的進(jìn)行添加。創(chuàng)建菜單需要的定義JMenu.創(chuàng)建子菜單需要定義JMenultem.并且要指明是添加到哪個菜單下面.下面是學(xué)生管理模塊主界面的部分代碼classstudent_manageextendsJFrameimplementsActionListener{JMenuBarjm=newJMenuBar();JMenujm仁newJMenu(信息");JMenuItemjmi仁newJMenuItem增加信息');JMenuItemjmi2二newJMenuItem刪除信息');JMenuItemjmi3二newJMenuItem修修改信息');JMenujm2=newJMenu(查詢");JMenuItemjmi2仁newJMenuItem基本信息查詢');JMenuItemjm22=newJMenuItem成績查詢');JMenujm3=newJMenu(其他");JMenuItemjmi3仁newJMenuItem退出");//添加組件與設(shè)置位置部分代碼與lnfo_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)newUsingExit().setVisible(true);}其運(yùn)行結(jié)果如圖4-3所示:圖4-3student_manage.java的顯示結(jié)果添加信息每個子菜單都對應(yīng)著一個操作界面.接下來對每一個子菜單進(jìn)行講解。當(dāng)選擇信息菜單下的“增加信息”子菜單時.將彈出如圖所示的界面.它調(diào)用了AddStudent.java類實(shí)現(xiàn)該功能。通過對“增加信息”這一子菜單設(shè)置監(jiān)聽.彈出界面。AddStudent.java的代碼如下:classAddStudentextendsJFrameimplementsActionListener{JLabelJL二newJLabel(添加基本信息",JLabel.CENTER);JLabelJLNumber二newJLabel(學(xué)號");JTextFieldJTNumber二newJTextField();JLabelJLName=newJLabel(姓名");JTextFieldJTName二newJTextField();JLabelJLClass二newJLabel(班級");JTextFieldJTClass=newJTextField();JLabelJLsex=newJLabel("性別");ButtonGroupBG二newButtonGroup();JRadioButtonJRB仁newJRadioButton男");JRadioButtonJRB2=newJRadioButton女");JLabelJL1二newJLabel(學(xué)院");JTextFieldJT仁newJTextField();JLabelJL2=newJLabel(生日");JTextFieldJT2=newJTextField();JButtonJBAdd=newJButton(添加");JButtonJBNext二newJButton(重置");JButtonJBExit二newJButton(退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與lnfo_Manage.java類似publicvoidactionPerformed(ActionEvente){if(e.getSource()==JBAdd){Stringsnumber=JTNumber.getText();Stringsname=JTName.getText();Stringsclass=JTClass.getText();Stringssex二'女";if(JRB1.isSelected())ssex="男";Stringscollect=JT1.getText();Stringsbir=JT2.getText();sql="select*fromstudentwhereid='"+snumber+"'";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncot=DriverManager.getConnection("jdbc:odbc:student1","","");Statementstm=cot.createStatement();ResultSetrs=stm.executeQuery(sql);if(rs.next())JOptionPane.showMessageDialog(null,該"號碼已存在!");else{sql="insertintostudentvalues('"+snumber+"','"
+sname+"','"+sclass+"','"+ssex+"','"+scollect+"','"+sbir+")'";inti=stm.executeUpdate(sql);if(i>0)JOptionPane.showMessageDialog(null,添加成功!");elseJOptionPane.showMessageDialog(null,刪"除失敗!");}}catch(Exceptionee){}}if(e.getSource()==JBNext){JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);}if(e.getSource()==JBExit){setVisible(false);
其運(yùn)行結(jié)果如圖4-4所示:I?I漏加孚主佶慝生口濟(jì)in0:蟲生口濟(jì)in0:蟲過出圖4-4AddStudent.java的顯示結(jié)果刪除信息當(dāng)選擇信息菜單下的刪除信息子菜單是.將彈出圖所示的界面.它調(diào)用了DeleteStudent.java類實(shí)現(xiàn)該功能.其代碼如下:classDeleteStudentextendsJFrameimplementsActionListener{JLabelJL二newJLabel("刪除基本信息",JLabel.CENTER);JLabelJLNumber=newJLabel("學(xué)號");JTextFieldJTNumber=newJTextField();JLabelJLName=newJLabel("姓名");JTextFieldJTName=newJTextField();JButtonJBDel=newJButton("刪除");JButtonJBNext=newJButton("重置");JButtonJBExit=newJButton("退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與lnfo_Manage.java類似publicvoidactionPerfomed(ActionEvente){if(e.getSource()=JBDel){Stringsnumber=JTNumber.getText();Stringsname二JTName,getText();sql二"select*fromstudentwhereId=+Snumber+"'";try{Class.forName"sun.jdbc.odbc.JdbcOdbcDriver);Connectioncot=DriverManager.getConnection("jdbc:odbc:student1,"","");Statementstm=cot.createStatement();ResultSetrs=stm.executeQuerysql);if(rs.next()){sql="delete*fromstudentwhereId=+snumber+"'";intn=stm.executeUpdatesql);if(n>0)JOptionPane.showMessageDialonull,"刪除成功');elseJOptionPane.showMessageDialonull,"刪除失敗');}elseJOptionPane.showMessageDialonull,"此用戶不存在');}catch(Exceptioner){}}if(e.getSource()=JBNext){JTNumber.setTextnull);JTName.setTextnull);}if(e.getSource()=JBExit)setVisiblefalse);}其運(yùn)行結(jié)果如圖4-5所示:圖4-5DeleteStudent.java的顯示結(jié)果修改信息當(dāng)選擇“信息”菜單下的“修改信息”子菜單時.將彈出如圖所示的界面他將點(diǎn)用了GetStudent.java類實(shí)現(xiàn)該功能。GetStudent.java的代碼如下:classGetStudentextendsJFrameimplementsActionListener{JLabelJL=newJLabel("學(xué)生基本信息',JLabel.CENTER);JLabelJLNumber二newJLabelf學(xué)號");JTextFieldJTNumber=newJTextField();JLabelJLName二newJLabelC姓名");JTextFieldJTName=newJTextField();JLabelJLCIass=newJLabelC班級");JTextFieldJTClass=newJTextField();JLabelJLsex=newJLabelC性別");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1二newJRadioButton"男");JRadioButtonJRB2=newJRadioButton"女");JLabelJL1=newJLabelC學(xué)院");JTextFieldJT1=newJTextField();JLabelJL2=newJLabelC生日");JTextFieldJT2=newJTextField();JButtonJBGet=newJButton"修改");JButtonJBNext=newJButton"取消");JButtonJBExit=newJButton"退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與lnfo_Manage.java類似publicvoidactionPerformed(ActionEvente){if(e.getSource()=JBGet){Stringsnumber=JTNumber.getText();Stringsname=JTName.getText();Stringsclass=JTClass.getText();Stringssex="女",sql;if(JRB1.isSelected())ssex="男";Stringscollect=JT1.getText();Stringsbir=JT2.getText();sql="select*fromstudentwhereld=+snumber+"'";try{Class.forName"sun.jdbc.odbc.JdbcOdbcDriver);Connectioncot=DriverManager.getConnection("jdbc:odbc:student1,"","");Statementstm=cot.createStatement();ResultSetrs=stm.executeQuerysql);if(rs.next()){sql="updatestudentsetname='+sname+"',class='"+sclass+"',sex='"+ssex+"',collect='"+scollect+"',bir='"+sbir+"'whereld='"+snumber+"'";intn=stm.executeUpdatesql);if(n>0)JOptionPane.showMessageDialonull,"修改成功');elseJOptionPane.showMessageDialonull,"修改失敗!");elseJOptionPane.showMessageDialognull,"此用戶不存在!");}catch(Exceptioner){}}if(e.getSource()=JBNext){JTNumber.setTextnull);JTName.setTextnull);JTClass.setTextnull);JT1.setTextnull);JT2.setTextnull);}if(e.getSource()=JBExit){setVisiblefalse);}}publicstaticvoidmain(Stringargs[]){newGetStudent();}}其運(yùn)行結(jié)果如圖4-6所示:圖4-6GetStudent.java的顯示結(jié)果基本信息查詢當(dāng)選擇“查詢”菜單下的“基本信息查詢”子菜單時.將彈出如圖所示的界面.它調(diào)用了SetStudent.java類實(shí)現(xiàn)該功能。SetStudent.java的代碼如下:classSetStudentextendsJFrameimplementsActionListener{JLabelJL=newJLabel("查詢基本信息",JLabel.CENTER);JLabelJLNumber二newJLabel("學(xué)號");JTextFieldJTNumber=newJTextField();JLabelJLName二newJLabel("姓名");JTextFieldJTName=newJTextField();JLabelJLClass=newJLabel("班級");JTextFieldJTClass=newJTextField();JLabelJLsex=newJLabel("性別");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男");JRadioButtonJRB2=newJRadioButton("女");JLabelJL1=newJLabel("學(xué)院");JTextFieldJT1=newJTextField();JLabelJL2=newJLabel("生日");JTextFieldJT2=newJTextField();JButtonJBSet=newJButton("查詢");JButtonJBNext=newJButton("重置");JButtonJBExit=newJButton("退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與lnfo_Manage.java類似publicvoidactionperfoemaed(ActionEvente){if(e.getSource()==JBSet){Stringsnumber=JTNumber.getText();Stringsname二JTName.getTextO:Stringsclass二JTCIass.getTextO:Stringssex二"女":if(JRB1.isSelected())ssex="男";Stringscollect=JT1.getText();Stringsbir=JT2.getText():sql="select*fromstudentwhereld='"+snumber+"'"try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"):Connectioncot=DriverManager.getConnection("jdbc.odbc.student1","",""):Statementstm=cot.createStatement():ResultSetrs=stm.executeQuery(sql):if(rs.next()){Stringname=rs.getString(2):JTName.setText(name):Stringclas=rs.getString(3):JTClass.setText(clas):Stringsex=rs.getString(4):JRB1.setText(sex):Stringcollect=rs.getString(5):JT1.setText(collect):Stringbir=rs.getString(6):JT2.setText(bir);intn=stm.executeUpdate(sql);if(n>0)JOptionPane.showMessageDialo(null,"查詢成功”);elseJOptionPane.showMessageDialo(null,"查詢失敗");}ElseJOptionPane.showMessageDialog(null,"此用戶不存在");}catch(Exceptionee){}}if(e.getSource()==JBNext){JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);}if(e.getSource()==JBExit)setVisible(false);}}其運(yùn)行結(jié)果如圖4-6所示:圖4-7SetStudent.java的顯示結(jié)果成績查詢當(dāng)選擇“查詢”菜單下的“成績查詢”子菜單時.調(diào)用SetGrade.java類來實(shí)現(xiàn)功能。SetGrade.java的代碼如下:classSetGradeextendsJFrameimplementsActionListener{JLabelJL=newJLabel("查詢成績",JLabel.CENTER);JLabelJLNumber=newJLabel("學(xué)號");JTextFieldJTNumber=newJTextField();JLabelJLName=newJLabel("姓名");JTextFieldJTName=newJTextField();JLabelJLCIass二newJLabel("大學(xué)英語");JTextFieldJTClass=newJTextField();JLabelJLsex=newJLabel("性別");ButtonGroupBG=newButtonGroup();JRadioButtonJRB1=newJRadioButton("男");JRadioButtonJRB2=newJRadioButton("女");JLabelJL1=newJLabel("高等數(shù)學(xué)");JTextFieldJT1=newJTextField();JLabelJL2=newJLabel("班級");JTextFieldJT2=newJTextField();JButtonJBSet=newJButton("查詢");JButtonJBNext=newJButton("重置");JButtonJBExit=newJButton("退出");Stringsql="";//添加組件與設(shè)置位置部分代碼與lnfo_Manage.java類似publicvoidactionPerformed(ActionEvente){if(e.getSource()==JBSet){Stringsnumber=JTNumber.getText();Stringsname二JTName.getTextO:Stringsclass二JTCIass.getTextO:Stringssex二"女":if(JRB1.isSelectedO)ssex="男":Stringscollect=JT1.getText();Stringsbir=JT2.getText():sql="select*fromgradewhereld='"+snumber+"'":try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"):Connectioncot=DriverManager.getConnection("jdbc:odbc:student1","",""):Statementstm=cot.createStatement():ResultSetrs=stm.executeQuery(sql):if(rs.next()){Stringname=rs.getString(2):JTName.setText(name):Stringclas=rs.getString(3):JTClass.setText(clas):Stringsex=rs.getString(4):JRB1.setText(sex):Stringcollect=rs.getString(5):JT1.setText(collect):Stringbir=rs.getString(6):JT2.setText(bir):intn=stm.executeUpdate(sql);if(n>0)JOptionPane.showMessageDialog(null,"查詢成功!");elseJOptionPane.showMessageDialo(null,"查詢失敗!");}elseJOptionPane.showMessageDialog(null,"此用戶不存在!");}catch(Exceptionee){}}if(e.getSource()==JBNext){JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);}if(e.getSource()==JBExit)setVisible(false);}}其運(yùn)行結(jié)果如圖4-8所示:圖4-8SetGrade.java的顯示結(jié)果退出系統(tǒng)當(dāng)選擇“其他”菜單下的“退出”子菜單時將彈出如圖所示的界面.它調(diào)用了UssingExit.java類實(shí)現(xiàn)該功能。其代碼如下:classUsingExitextendsJFrameimplementsActionListener{JLabelJLInfo=newJLabel("學(xué)生信息管理");JButtonJBExit=newJButton("退出");JButtonJBNE二newJButton(”取消"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年考試實(shí)踐經(jīng)驗(yàn)試題及答案
- 《茶藝師》中級練習(xí)題庫(含答案)
- 公共關(guān)系與市場營銷結(jié)合試題及答案
- 2025年山東省安全員A證理論考試題庫含答案
- 水利水電工程設(shè)計(jì)過程試題及答案
- 2025年車間員工安全培訓(xùn)考試試題【有一套】
- 2025年經(jīng)濟(jì)法綜合性復(fù)習(xí)試題及答案
- 2025-2030年鋰電池產(chǎn)業(yè)行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2025-2030年酚咖片行業(yè)風(fēng)險(xiǎn)投資態(tài)勢及投融資策略指引報(bào)告
- 行政管理經(jīng)濟(jì)法復(fù)習(xí)重點(diǎn)試題及答案
- 青少年編程教育方案
- 腦卒中健康宣教(課堂課件)
- 法務(wù)崗位招聘筆試題與參考答案(某大型國企)2025年
- 有機(jī)水果市場分析與可行性研究
- 二零二四年度版權(quán)許可合同:電影《未來世界》的播放權(quán)
- 勞務(wù)雇傭免責(zé)協(xié)議書范本兩篇
- 非中醫(yī)類別醫(yī)師學(xué)習(xí)中醫(yī)藥專業(yè)知識管理辦法(試行)
- 第20課 社會主義國家的發(fā)展與變化 課件歷史下學(xué)期統(tǒng)編版(2019)必修中外歷史綱要下
- 2024年學(xué)年八年級道德與法治下冊 第二單元 理解權(quán)利義務(wù)教案 新人教版
- 2024年我國人口老齡化問題與對策
- 2024年學(xué)??照{(diào)租賃服務(wù)條款
評論
0/150
提交評論