




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、武漢理工大學華夏學院課程設計報告書課程名稱:軟件工程題 目:學生信息管理系統(tǒng)的設計與開發(fā)系 名:信息工程系專業(yè)班級:計算機1121班姓 名:劉明學 號:指導教師:錢小紅2015年7月9日課程設計任務書學生姓名:劉 明 專業(yè)班級: 計算機1121班指導教師:錢小紅工作單位:信息工程系設計題目:學生信息管理系統(tǒng)的設計與開發(fā)課程設計的目的與任務:軟件工程課程設計是軟件工程課程的后續(xù)實踐課程,本課程設計的目的是通過一周的實踐訓練,開發(fā)一個學生信息管理系統(tǒng),使同學們經歷一個軟件從問題定義、分析、設計到開發(fā)的全過程和受到一次軟件系統(tǒng)開發(fā)的綜合訓練,以便能熟練掌握軟件開發(fā)的完整生命周期過程及較全面地理解、掌
2、握和綜合運用所學的軟件工程的知識。結合具體的學生信息管理選題開發(fā)項目,理解并掌握系統(tǒng)分析、系統(tǒng)設計、系統(tǒng)實施的主要環(huán)節(jié)和步驟以及軟件 文檔的制作能力,進一步提高學生分析問題、解決問題,進行一個完整系統(tǒng)開發(fā)的能力。課程設計的內容與主要要求:要求學生根據所學的軟件工程的知識,利用所學的Java語言/C+語言/Vb語言+Mysql/SQL知識實現(xiàn)一個學生信息管理系統(tǒng),并對實現(xiàn)后的軟件進行測試。學生信息管理 是學校管理中一項煩瑣的工作,各類人員都可能需要借助學生信息管理系統(tǒng)完成一些統(tǒng)計、 查詢、匯總等工作。例如:系統(tǒng)管理員需要建立新的角色和用戶;對現(xiàn)有專業(yè)、班級、班級學生信息、老師信息及課程信息進行查
3、詢以及增加、修改;學生完成一門課程的學習后,教師需要錄入學生的考試成績,計算平均成績、查看最 高最低分;學生需要查詢已結業(yè)的各門課程的成績;系統(tǒng)主要實現(xiàn)用戶管理、班級管理、課 程管理、成績管理、學生管理、教師管理、用戶登陸、修改密碼等功能,詳見下表。表1.1學生信息管理系統(tǒng)主要功能表編號功能名稱功能說明1系統(tǒng)管理添加用戶、角色2班級管理創(chuàng)建、瀏覽班級信息(班級ID、班級名稱、專業(yè)名稱、班級、年制、教師、教室、備注)3學生管理登記學生的基本信息(學生ID、學生編號、姓名、性別、名族、籍貫、電話、政治面貌等),提供查詢功能。4課程管理登記課程基本情況(課程ID、班級ID、課程名稱、開設學期、教師編
4、號、教師名稱),提供查詢5教師管理登記教師基本情況(姓名、年齡、性別、學歷等),提供查詢統(tǒng)計6成績管理登記學生各門課程的考試成績、提供查詢、統(tǒng)計功能7授課管理登記教師講授課程、授課地點、授課學期,提供查詢功能8用戶操作修改密碼,重新登錄,退出系統(tǒng)等課程設計的步驟及時間進度、場地安排本課程設計將安排在第 19周,教育技術中心211。具體安排如下:7月6日上午:下發(fā)任務,學生查找資料、確定實訓項目;理清整理軟件工程實驗課所完成的學生信息管理系統(tǒng)需求分析、系統(tǒng)設計及相關模型的建立(通過visio/rationalrose/powerdesigner建立系統(tǒng)的需求模型、數(shù)據模型及設計模型,具體包括數(shù)據
5、流圖、軟件結構圖、程序流程圖、ER圖、用例圖、類圖、時序圖、活動圖、狀態(tài)圖等);7月7日-7月9日:完成學生信息管理系統(tǒng)的開發(fā)及測試;7月10日:完成答辯驗收、報告的寫作,并將以上工作整理成為課程設計報告,于7月10日中午前提交課程設計報告。課程設計場地安排-周次-星期一星期二星期三星期四星期五第19周第1-4節(jié)第1-4節(jié)第5-7節(jié)第1-4節(jié)第1-4節(jié)地點現(xiàn)教211現(xiàn)教211現(xiàn)教211現(xiàn)教211現(xiàn)教211課程設計報告撰寫格式要求:1設計題目與要求2設計思想3系統(tǒng)結構4數(shù)據結構的說明和模塊的算法流程圖5 使用說明書(即用戶手冊)、運行結果、關鍵界面截圖6測試計劃說明書、測試用例規(guī)格說明、缺陷報告
6、7自我評價與總結8附錄:程序清單,注意加注釋(包括關鍵字、方法、變量等),在每個模塊前加 注釋;要求層次清楚、整潔規(guī)范、不得相互抄襲,凡正文內容有整段完全相同者一律以抄襲論處。設計報告正文字數(shù)不少于0.2萬字(不包括附錄)。第1級(章)題序和題名用黑體三號字;第 2 級(目)題序和題名用黑體小四號字;第3 級(條)題序和題名用黑體小四號字;正文內容用宋體五號字(英文用新羅馬體),多倍行距1.25。報告內容一律使用 A4 打印紙計算機打印,頁碼在頁下居中標明。必須使用國家公布的規(guī)范字。頁面設置:上空2.5 cm,下空2.0 cm,左空2.5 cm,右空2.0cm (左裝訂)。插圖圖面要整齊、美觀
7、,插圖應與正文呼應,不能脫節(jié)。每幅插圖應有圖序與圖題,圖序編號要連續(xù),圖序與圖題間空一格且要放在插圖下方居中處。課程設計考核及評分標準課程設計考核將綜合考慮學生考勤和參與度, 系統(tǒng)設計方案正確性, 系統(tǒng)設計和開發(fā)效果以及課程設計報告書的質量。總分按五級記分法記載最后成績:優(yōu)秀(10090分),良好(8089分),中等(7079分),及格(6069分),不及格(059分)指 導 教師簽字: 錢小紅2015年 7 月9 日系 主 任簽字: 邱珊2015年 7 月9 日1 .系統(tǒng)概述 11.1 社會背景 11.2 研究中出現(xiàn)的主要問題 11.3 研究目的 11.4 開發(fā)環(huán)境和軟件 22 .系統(tǒng)需求分
8、析 22.1 系統(tǒng)設計 22.2 系統(tǒng)功能分析 22.3 可行性分析 23 .系統(tǒng)詳細設計 33.1 系統(tǒng)概述 33.2 系統(tǒng)總體設計 33.3 系統(tǒng)詳細設計 43.3.1 用戶信息管理模塊 43.3.2 學生信息管理模塊 43.3.3 課程信息管理模塊 53.3.4 選課信息管理模塊 53.3.5 成績信息管理模塊 54 .系統(tǒng)數(shù)據庫設計 64.1 建立數(shù)據庫 64.2 建立數(shù)據表 65 .系統(tǒng)測試 75.1 學生信息管理系統(tǒng)的登錄 75.2 管理員登錄 75.2.1 管理員對學生信息的添加 85.2.2 管理員對學生信息的修改 85.2.3 管理員對學生信息的查詢 85.2.4 管理員對學
9、生信息的刪除 95.2.5 管理員顯示學生信息 96 .總結 5參考文獻 5附錄:部分源代碼 錯誤 !未定義書簽。1 .系統(tǒng)概述1.1 社會背景學生管理工作是每個學校必須面對的, 它是一項傳統(tǒng)且繁瑣的教育基礎管理工作, 極為耗費人力、 物力。 往常, 各學校采用人工管理形式每學期開學時相關人員分別統(tǒng)計各個學生的情況,到了期末又要對相關信息進行處理, 比如考試情況、 學生課程調動等,面對如此不斷反復、繁雜的變化,各學校都要耗費大量的人力、物力。同時,這種傳統(tǒng)人工的方式來管理學生工作,還存在著很多缺點,如效率低、保密性差,另外時間長,將產生大量的冗余文件和數(shù)據,這給數(shù)據的查找、更新和維護工作帶來了
10、很大的困難。隨著科學技術的不斷提高, 特別是計算機、 網絡等相關技術的日漸成熟, 其強大的功能已被人們深刻認識, 它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用, 特別是它具有的手工管理所無法比擬的優(yōu)點, 使得各個學校都相繼采用了信息技術對學生的有關信息進行管理。通過使用計算機技術等手段,將工作人員從重復、繁雜的手工處理中解脫出來,提高了工作效率, 而且減少了人工處理產生的錯誤。 使得教育基礎管理工作邁上了一個新的臺階,從而實現(xiàn)了教育基礎管理的信息化、科學化、現(xiàn)代化。1.2 研究中出現(xiàn)的主要問題本文主要基于 Java 的學生信息管理系統(tǒng)為應用背景,主要研究以下兩個方面的問題:(1) 采用比
11、 C 語言更先進的 Java 技術建立系統(tǒng)模型和劃分模塊,采用基于SQL 技術訪問數(shù)據庫并構建一個完整的學生信息管理系統(tǒng)。(2) 改進 Java 技術的安全性,對系統(tǒng)進行全面綜合的評測。分析測評結果,并就java 的安全機制的研究與實現(xiàn)提出了幾個觀點及改進建議。1.3 研究目的本統(tǒng)提供了學生信息管理中常見的基本功能, 主要包括管理員和學生兩大模塊。 管理員的主要功能有對學生信息和課程信息進行增加、刪除、修改、 查找等操作,對選課信息進行管理, 對成績信息和用戶信息進行修改、 查找等操作。 學生的主要功能有對學生信息和成績信息進行查看,對個人的密碼信息進行修改等。1.4 開發(fā)環(huán)境和軟件操作系統(tǒng):
12、 winXP數(shù)據庫軟件: SQL Server 2005Java 開發(fā)工具: Eclipse2 .系統(tǒng)需求分析2.1 系統(tǒng)設計學生信息管理系統(tǒng), 可用于學校等機構的學生信息管理, 查詢,更新與維護, 使用方便,易用性強,圖形界面清晰明了。該軟件用 java 語言編寫,用 SQLServer2005 數(shù)據庫作為后臺的數(shù)據庫進行信息的存儲,用SQL語句完成學生學籍信息的添加,查詢,修改,刪除的操作以及成績的錄入,修改,刪除等。用ODB®動實現(xiàn)前臺Java與后臺SQL數(shù)據庫的連接。Java語言跨平臺性強,可以在 windows, linux , ubuntu等系統(tǒng)下使用,方便簡單,安全性好
13、。 SQLServer2005 數(shù)據庫高效安全,兩者結合可相互利用各自的優(yōu)勢。2.2 系統(tǒng)功能分析傳統(tǒng)的學習信息管理處理方式主要是手工處理, 一般只是打印一些學生的主要信息, 譬如:學生個人信息、 學生各科分數(shù)、 學生各學期課程。本學生信息管理系統(tǒng)遠遠超越了傳統(tǒng)的手工處理方式,本系統(tǒng)的大致功能有:1 用戶登陸界面。該界面可以選擇使用者的身份, “管理員,學生” 。不同的身份有不同的操作界面和功能權限, ID 號和密碼輸入正確即可登錄。2 學生管理界面:提供了學生個人信息、班級信息、專業(yè)信息、院級信息以及相關科 目的成績查詢,修改登錄密碼等功能。3 管理員管理界面:提供了對學生學籍信息的查詢、添
14、加、修改、刪除,學生成績的 錄入、修改、刪除,查詢班級排名、修改密碼等功能。4 管理員管理界面:擁有最高的權限,可以管理人員的登錄和退出,通過學號查詢學 生的信息,添加學生信息,修改學生的信息,刪除學生的信息。5 .信息分別存儲在SQL數(shù)據庫的“學生信息表”、“課程信息表”、“選課信息表”和用戶信息表中,如果信息這四張表中不存在,將會無權利登錄本管理系統(tǒng)。2.3 可行性分析對于學生信息管理, 現(xiàn)在需要用計算機進行對這種龐大數(shù)據的處理, 本系統(tǒng)主要提供給高校的老師和學生,對于他們來說,基于JAVA系統(tǒng)的學生信息管理系統(tǒng)是非常簡單且實用,學生可以隨時查看自己的個人信息, 如果有需要可以修改自己的個
15、人信息。 對于管理者或者說是老師而言, 他們可以在家就對學生進行有效的管理, 做到快捷,方便。所以從這幾個角度出發(fā)我們不難發(fā)現(xiàn)該系統(tǒng)的可操作性是完全可行的。3 .系統(tǒng)詳細設計3.1 系統(tǒng)概述對于學生信息管理系統(tǒng)而言, 會存在很多的實體對象, 這些對象之間的關系處理非常的重要, 因此在最開始的時候首先想到的是設計數(shù)據庫里的表結構以及表字段。 即想好了需求 中需要哪些表,表與表之間的關聯(lián)是通過哪些字段。以及這樣設計的話它的可行性。3.2 系統(tǒng)總體設計學生信息管理系統(tǒng)主要包括管理員和學生兩大模塊。管理員模塊包括:學生信息管理、課程信息管理、選課信息管理、成績信息管理、用戶信息管理等。用戶模塊包括:學
16、生信息查看、成績信息查看、個人信息管理等。系統(tǒng)總體結構如圖3-1所示,用戶驗證流程圖如圖3-2所示。學生信息管理系統(tǒng)學生管理員查查查更查看看看新看個選各個課人課科人程信信成信信息息績息息修改登陸密碼圖3-1系統(tǒng)總體結構圖登陸頁面學生管理界面3.3 系統(tǒng)詳細設計3.3.1 用戶信息管理模塊用戶信息管理模塊包括修改、查詢、顯示全部等。具體的結構圖如圖3-3所示。圖3-3用戶信息管理模塊結構圖3.3.2 學生信息管理模塊學生信息管理模塊包括增加、刪除、修改、查詢、顯示全部等。具體的結構圖如圖3-4所示圖3-4學生信息管理模塊結構圖3.3.3 課程信息管理模塊課程信息管理模塊包括增加、刪除、修改、查詢
17、、顯示全部等。具體的結構圖如圖3-5所示圖3-5課程信息管理模塊結構圖3.3.4 選課信息管理模塊選課信息管理模塊包括查詢、顯示全部等。具體的結構圖如圖3-6所示。圖3-6選課信息管理模塊結構圖3.3.5 成績信息管理模塊成績信息管理模塊包括修改成績、查詢、顯示全部等。具體的結構圖如圖3-7所示。圖3-7成績信息管理模塊結構圖4 .系統(tǒng)數(shù)據庫設計4.1 建立數(shù)據庫安裝好SQL Server 2005之后,連接數(shù)據庫在里面新建student數(shù)據庫文件4.2 建立數(shù)據表在數(shù)據庫student中共有4張數(shù)據表:s (學生信息表)、c (課程信息表)、sc (選課信 息表)、unpw (用戶信息表),
18、下面定義每張表的字段名稱和數(shù)據類型。s (學生信息表)字段名稱數(shù)據類型中文描述snochar (10)一學號,關鍵字snchar (20)姓名saint年齡sschar (10)性別sdchar (10)院系c (課程信息表)字段名稱數(shù)據類型E描述cnochar (10)課程號,關鍵字cnchar(30)課程名pcnochar (10)先行課程號sc (選課信息表)字段名稱數(shù)據類型中文描述snochar (10)學號,關鍵字cnochar (10)課程號,關鍵字gint成績unpw (用戶信息表)字段名稱數(shù)據類型中文描述unchar (10)用戶名,關鍵字pwchar (10)密碼qxint角
19、色5 .系統(tǒng)測試5.1 學生信息管理系統(tǒng)的登錄學生信息管理系統(tǒng)可由管理員和學生兩種身份的人使用。管理員和學生身份登錄所能操作的功能有很大的區(qū)別。由于在后臺數(shù)據庫里面新建的用戶只有一個管理員(admin)和一個學生(xuesheng),所以登錄界面只有這種情況,如圖5-1所示圖5-1登錄界面5.2 管理員登錄管理員登錄之后就會出現(xiàn)如圖5-2所示的界面,管理員可以進入學生信息管理、課程信息管理、選課信息管理、成績信息管理、用戶信息管理以及退出管理系統(tǒng)就行相應的添加、 修改、查詢和刪除。圖5-2管理員登錄系統(tǒng)后的界面5.2.1 管理員對學生信息的添加點擊學生信息管理模塊之后,管理員就在學生信息管理模
20、塊上面選擇“添加”就可以添加學生信息了,如圖 5-3所示圖5-3添加學生信息5.2.2 管理員對學生信息的修改點擊學生信息管理模塊之后, 管理員就在學生信息管理模塊上面選擇 “修改” 就可以修改學生信息了,如圖 5-4 所示圖 5-4 修改學生信息5.2.3 管理員對學生信息的查詢點擊學生信息管理模塊之后, 管理員就在學生信息管理模塊上面選擇 “查詢” 就可以查詢學生信息了,如圖 5-5 所示圖 5-5 查詢學生信息5.2.4 管理員對學生信息的刪除點擊學生信息管理模塊之后, 管理員就在學生信息管理模塊上面選擇 “刪除” 就可以刪除學生信息了,如圖 5-6 所示圖 5-6 學生信息刪除5.2.
21、5 管理員顯示學生信息點擊學生信息管理模塊之后, 管理員就在學生信息管理模塊上面選擇 “顯示” 就可以顯示所有學生信息了,如圖 5-7 所示圖 5-7 顯示學生信息6.總結在這次課程設計的過程中, 在與代碼為伴的一個星期里, 我真的收獲了很多。 這次軟件工程的課程設計, 讓我鞏固了這學期學的知識, 又復習了關于數(shù)據庫的知識, 更是學會了如何將所學的知識運用到實際,真正的應用軟件開發(fā),Java開發(fā)中來。并且,在設計過程中,通過上網搜索有關資料的同時,也開闊了視野,豐富了自己的知識面。為期一個星期的課程設計已經結束了, 在這個過程中我獲益匪淺, 比如說初步學會了用Java 開發(fā)界面, 雖然做出的網
22、頁不是特別美觀, 很多地方有瑕疵, 但是從一竅不通成長到能逐漸能做出一個功能基本完善的簡單的系統(tǒng), 一步步走來, 其中收獲的不僅是知識, 還有動手能力, 自學能力, 合作能力。 總體來說, 這次的軟件工程課程設計沒有我想象中的那么難,剛開始設計時就遇到了很多困難, 不過認真聽過老師每天的講解后, 很多困難也就迎刃而解了。同時也要感謝老師和同學們的幫助,如果沒有他們的幫助,很難完成這次的課程設計。雖然我的設計其功能基本符合用戶需求, 能夠完成基本的業(yè)務操作流程, 并提供部分系統(tǒng)維護功能,使用戶方便進行數(shù)據添加、修改、查詢和刪除。但是由于設計時間較短,所以該系統(tǒng)還有許多不盡如人意的地方, 比如說明
23、文檔比較少, 用戶界面不夠美觀, 出錯處理不夠等多方面的問題。這些都有待進一步改善,希望在以后的學習和工作中得以完善。參考文獻1 邱珊 主編, Java 語言程序設計 ,科學出版社 2008.22 高金蘭,魯立, 數(shù)據庫原理與SQL Server 應用 ,科學出版社2010.33 李春寶 主編, 數(shù)據庫原理與應用 ,清華大學出版社, 2009.4附錄1 .程序類的設計SimpleStudentManager 主函數(shù)類DLFrame 登陸界面類ManagerFrane 管理員界面類StudentFrame 學生界面類SM學生信息管理的類SAdd用于學生信息管理中增加或修改某條記錄的界面的類SSe
24、lect用于學生基本信息管理中查詢時輸入學號的界面的類CM課程信息管理的類CAdd 用于課程信息管理中增加或修改某條記錄的界面的類CSelect 用于課程信息管理中查詢時輸入課程號的界面的類SCM 選課信息管理的類SCSelect 用于選課信息管理中查詢時輸入學號的界面的類GM 成績信息管理的類GAdd 用于成績信息管理中修改成績的界面的類GSelect 用于成績信息管理中查詢時輸入學號的界面的類PM 用戶信息管理的類UAdd 用于用戶信息管理中修改密碼的界面的類PSelect用于用戶信息管理中查詢時輸入用戶名的界面的類StudentS用于學生信息查看時輸入學號的界面的類StudentSele
25、ct 用于成績信息查看時輸入學號的界面的類PPM 個人信息管理的類PPSelect 用于個人信息管理查詢時輸入用戶名的界面的類2 . 源代碼import javax.swing.*;import java.awt.*;import java.sql.*;class CAdd extends JFrame implements ActionListener/ 用于課程信息管理中增加或修改 某條記錄的界面JLabel lcno = new JLabel(" 課程號: ");JLabel lcname = new JLabel(" 課程名: ");JLabel
26、 lpcno = new JLabel(" 先行課程號: ");JTextField tcno = new JTextField(10);JTextField tcname = new JTextField(10);JTextField tpcno = new JTextField(10);JButton btnOK = new JButton(" 確定 ");JButton btnCancel = new JButton(" 取消 ");JPanel p = new JPanel();Connection con = null;St
27、atement stmt = null;ResultSet rs = null;boolean isNewsm = true;/ 用于判斷是否顯示課程信息管理的界面public CAdd() / 構造方法this.setTitle(" 增加 ");this.setBounds(200, 200, 146, 235);p.setLayout(new FlowLayout(FlowLayout.LEFT);p.add(lcno);p.add(tcno);p.add(lcname);p.add(tcname);p.add(lpcno);p.add(tpcno);p.add(btn
28、OK);p.add(btnCancel);this.add(p);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btnOK.addActionListener(this);btnCancel.addActionListener(this);this.show();public void connDB() / 連接數(shù)據庫try catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getCo
29、nnection("sa", "123");stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();public void closeDB() / 關閉連接 try stmt.close();con.close(); catch (SQLException e) e.printStackTrace();public void insertst() / 插入記錄String kch = null;String kcm = null;String xxkch=null;
30、kch = tcno.getText();kcm = tcname.getText();xxkch=tpcno.getText();if (this.getTitle() = " 修改 ") / 如果是修改記錄,先刪除再增加try this.connDB();int rs1 = stmt.executeUpdate("delete from c where cno='"+ kch + "'"); catch (SQLException e) e.printStackTrace();String str = "
31、insert into c values('" + kch + "','" + kcm + "','"+ xxkch + "')"this.connDB();/ 連接數(shù)據庫try stmt.executeUpdate(str);JOptionPane.showMessageDialog(null, this.getTitle() + " 成功! "," 提 示 ", JOptionPane.INFORMA TION_MESSAGE, ne
32、w ImageIcon("menu4.gif");this.setVisible(false);catch (SQLException e) JOptionPane.showMessageDialog(null, " 課程號已存在! ");tcno.setText("");public void actionPerformed(ActionEvent e) if (e.getActionCommand() = " 確定 ") this.insertst();if (isNewsm) new CM(" 課程
33、信息管理").display();isNewsm = true;if (e.getActionCommand() = " 取消 ") this.setVisible(false);new CM(" 課程信息管理").display();import java.sql.*;import java.util.*;import javax.swing.*;class CM extends JFrame implements ActionListener / 課程信息管理JPanel p = new JPanel();JButton btnAdd =
34、new JButton(" 增加 ");JButton btnDelete = new JButton(" 刪除 ");JButton btnAlter = new JButton(" 修改 ");JButton btnSearch = new JButton(" 查詢 ");JButton btnDisplay = new JButton(" 顯示 ");JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();JTable sTable;JS
35、crollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;CSelect cst;String mkch = null;boolean bstd = false;CM(String title) / 構造方法super(title);add("South", p);this.add("Center", p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.a
36、dd(btnSearch);mb.add(btnDisplay);this.connDB();/ 連接數(shù)據庫this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseO
37、peration(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();CM(CSelect cst, String title) / 構造方法super(title);this.cst = cst;bstd = true;add("South", p);this.add("Center", p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();t
38、his.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false)
39、;show();public void display() / 顯示所有的課程信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try rs = stmt.executeQuery("select * from c");while (rs.next() / 找出表中的記錄數(shù)賦給ial.add(rs.getString("cno");al.add(rs.getString("cn");al.add(rs.getString("pcno"); i+; c
40、atch (SQLException e) e.printStackTrace();playerInfo = new Objecti3;String columnNames = " 課程號 ", " 課程名 ", " 先行課程號 " ; try rs = stmt.executeQuery("select * from c order by cno"); while (rs.next() playerInfoj0 = rs.getString("cno");playerInfoj1 = rs.g
41、etString("cn");playerInfoj2 = rs.getString("pcno"); j+; catch (SQLException e) e.printStackTrace();sTable = new JTable(playerInfo, columnNames);/ 創(chuàng)建網格 p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);public void connDB() / 連接數(shù)據庫try catch (ClassNotFoundException e)
42、 e.printStackTrace();try con = DriverManager.getConnection("sa", "123");stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();public void closeDB() / 關閉連接try stmt.close();con.close(); catch (SQLException e) e.printStackTrace();public void delete() / 刪除某個課程信息Str
43、ing kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow();if (row = -1) / 判斷要刪除的信息是否被選中");JOptionPane.showMessageDialog(null, " 請選擇要刪除的記錄! else if (!bstd) / 判斷選擇的是不是查詢后的結果int j1 = 0;try rs = stmt.executeQuery("select * from c");while (rs.next
44、() && j1 <= row) / 找出當前被選中的記錄在數(shù)據庫中 的對應kch = rs.getString("cno");kcm = rs.getString("cn");xxkch = rs.getString("pcno"); j1+; catch (SQLException e) e.printStackTrace();int i1 = 0;try int rs1 = stmt.executeUpdate("delete from c where cno='"+ kch +
45、 "'");/ 刪除數(shù)據庫中當前被選中的記錄 JOptionPane.showMessageDialog(null, " 記錄刪除成功! "); this.dispose();new CM(" 課程信息管理").display(); catch (SQLException e) e.printStackTrace(); else try int rs1 = stmt.executeUpdate("delete from c where cno='"+ mkch + "'"
46、);/ 刪除數(shù)據庫中當前被選中的記錄 JOptionPane.showMessageDialog(null, " 記錄刪除成功! "); this.dispose();new CM(" 課程信息管理").display(); catch (SQLException e) e.printStackTrace();public void update() / 修改某個課程記錄String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelected
47、Row();if (row = -1) JOptionPane.showMessageDialog(null, " 請選擇要修改的記錄! "); else int j1 = 0;try if (!bstd) / 判斷選擇的是不是查詢后的結果rs = stmt.executeQuery("select * from c"); else rs = stmt.executeQuery("select * from c where cno='" + mkch + "'");while (rs.next()
48、&& j1 <= row) / 找出當前被選中的記錄在數(shù)據庫中的對應kch = rs.getString("cno");kcm = rs.getString("cn");xxkch = rs.getString("pcno");j1+; catch (SQLException e) e.printStackTrace();CAdd cadd = new CAdd();cadd.setTitle(" 修改 ");this.dispose();public void select() / 顯示某個
49、查詢的結果mkch = cst.kch;playerInfo = new Object13;String columnNames = " 課程號 ", " 課程名 ", " 先行課程號 " ;try rs = stmt.executeQuery("select * from c where cno='" + mkch + "'");while (rs.next() playerInfo00 = rs.getString("cno");playerInfo01
50、= rs.getString("cn");playerInfo02 = rs.getString("pcno"); catch (SQLException e) e.printStackTrace();if (playerInfo01 = null) this.dispose();JOptionPane.showMessageDialog(null, " 課程號不存在! ");new CM(" 課程信息管理").display(); else sTable = new JTable(playerInfo, colu
51、mnNames);/ 創(chuàng)建網格 p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);public void actionPerformed(ActionEvent e) if (e.getActionCommand() = " 增加 ") new CAdd();this.dispose();if (e.getActionCommand() = " 刪除 ") this.delete();if (e.getActionCommand() = " 修改 ") t
52、his.update();if (e.getActionCommand() = " 查詢 ") cst = new CSelect();this.dispose();if (e.getActionCommand() = " 顯示 ") this.dispose();new CM(" 課程信息管理").display();import javax.swing.*;public class CSelect extends JFrame implements ActionListener / 用于課程信息管理中查 詢時輸入課程號的界面JLa
53、bel ltitle = new JLabel(" 課程號: ");JTextField tcno = new JTextField(8);JButton btnOK = new JButton(" 確定 ");JPanel p = new JPanel();String kch = null;public CSelect() / 構造方法p.add(ltitle);p.add(tcno);p.add(btnOK);add(p);this.setBounds(300, 280, 200, 160);btnOK.addActionListener(this
54、);this.setResizable(false);this.show();public void actionPerformed(ActionEvent e) kch = tcno.getText();/ 取得當前輸入課程號的值if (kch.equals("") / 判斷是否輸入了課程號JOptionPane.showMessageDialog(null, " 課程號不能為空,請重新輸入! "); else this.dispose();new CM(this, " 課程信息管理").select();import javax.
55、swing.*;import java.awt.*;import java.sql.*;class DLFrame extends JFrame implements ActionListener, ItemListener / 登錄界面JPanel p1 = null;JPanel p2 = null;JPanel p3 = null;JLabel userName = new JLabel(" 用戶: ");JTextField txtUser = new JTextField();JLabel password = new JLabel(" 密碼: &quo
56、t;);JPasswordField txtPwd = new JPasswordField(6);JLabel role = new JLabel(" 角色: ");JComboBox cbrole = new JComboBox();JButton btnLogin = new JButton(" 登錄 ");JButton btncz = new JButton(" 重置 ");JButton btnCancel = new JButton(" 取消 ");JLabel imageLabel;Icon image;static int OK = 1;static int CANCEL = 0;int actionCode = 0;Connection con = null;Statement stmt = null;ResultSet rs = null;int qxian = 0;public DLFrame() / 構造方法super("登錄界面");p1 =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 嚴密制定活動方案
- 中國臺州宣傳活動方案
- 中國少兒科技館活動方案
- 中國珠寶活動方案
- 中國聯(lián)通進校園活動方案
- 中國風飾品活動方案
- 中央教育活動方案
- 中文熱身活動方案
- 中班古寺拍照活動方案
- 中班安全活動周活動方案
- 公寓股權合伙協(xié)議書
- 土壤酸化耕地治理方案(技術方案)
- 小學國學小名士題庫含答案
- 2023-2024學年度第一學期蘇科版初中數(shù)學九年級上冊教學計劃附教學進度表
- 2023年7月國家開放大學??啤斗ɡ韺W》期末紙質考試試題及答案
- 郭慶光《傳播學教程》第二版超詳細筆記新聞及傳播學考研
- 浙江省杭州市拱墅區(qū)部分校2023-2024學年六年級下冊期末練習卷科學試題
- 廣西壯族自治區(qū)南寧市2023-2024學年八年級下學期7月期末歷史試題(無答案)
- DL-T5344-2018電力光纖通信工程驗收規(guī)范
- 赴日簽證填寫表格及模板
- 2024年人教版小學語文一年級下冊期末測試卷(含答案)
評論
0/150
提交評論