




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、傳播優秀word版文檔 ,希望對您有幫助,可雙擊去除!上海電力學院期末作業:簡單的學籍管理系統 課 程: web應用程序設計 院 系: 電氣工程學院 專 業: 電力系統及其自動化 學生姓名: 張富杰 學號:17103060 指導教師: 曹渝昆 2017年1月6日目錄一、設計思路3二具體實現3三運行調試與分析3四設計體會與小結8五程序代碼8一、設計思路隨著社會經濟的發展,入學的同學越來越多,為方便對同學學籍信息的的管理,設計學籍管理軟件來管理本班級同學的學籍信息。該軟件應支持添加、刪除、修改、查詢功能。 查詢方式主要是支持學號查詢,例如:輸入“1”,則顯示該學生的信息。 運用流式、卡片、整體布局
2、方式對系統的主界面和各功能界面進行設計; 通過連接數據庫的方式來實現對數據的存儲;各功能實現時訪問數據庫,并對數據信息進行讀取,運用java語句對其進行輸出,學號查詢時顯示在文本框中;系統提示功能用來提醒用戶的錯誤操作和輸入時的錯誤信息,提醒用戶進行改正。二具體實現1 向班級里插入一個學生,但必須是插在已經建立的班級里。 2 輸入學生信息,建立一個班級。 3 修改一個學生的所有資料。 4 刪除某班的一個學生及其所有資料。 &
3、#160;5 刪除一個班級。 6根據學生姓名查找某個學生信息。每種功能通過一個類來實現:類分分為主類、查詢類、修改類、添加類、增加類。主類各功能界面的連接;精確查詢類(searchstudent)實現根據學生姓名查找某個學生信息;修改類(mdifystudent)實現修改一個學生的所有資料;添加類(addstudent)實現向班級里插入一個學生,但必須是插在已經建立的班級里。;刪除類(deletestudent)實現刪除某班的一個學生及其所有資料。;刪除類(deleteclass)實現刪除一個班級;建立類(builtclass)實現輸入學生信息建立一個班級。三運行調試與分析系統的詳細設計代碼請
4、查閱附帶的代碼。以下僅對各個界面進行截圖展示:圖1:管理界面圖2:添加學生到指定的班級界面圖3:刪除一個學生信息界面圖4:修改一個學生信息界面圖5:查詢某個學生信息界面圖6刪除一個班級界面圖7:輸入一個學生建立一個班級界面運行java程序中的studentmanager文件,顯示系統的主界面,如圖1所示,主界面有進入其他子功能的按鈕,選擇相應的按鈕便可進入相應的功能。添加學生到指定班級功能如圖2所示,根據提示輸入要添加的信息,點擊確定,將彈出提示框,確認是否添加。輸入一個學生建立一個班級功能如圖7所示,根據提示輸入要添加的信息,點擊確定,將彈出提示框,確認是否建立。刪除一個班級信息功能如圖6所
5、示,根據提示輸入班級號,點擊刪除。刪除一個學生信息功能如圖3所示,根據提示輸入學號,點擊刪除。修改一個學生信息功能如圖4所示,首先輸入要修改的人姓名,點擊開始修改,在下面的文本框現實當前數據庫內所存該人的信息,同時錄入修改鍵變化為可點擊,在文本框內輸入要修改的學號,點擊錄入修改,系統將新信息錄如數據庫。點擊查詢某個學生信息按鈕,將彈出查詢對話框, 輸入姓名便可以精確查詢到此人的所有學籍信息。查詢如圖5所示,將顯示數據庫中所存的所有號碼信息。四設計體會與小結期末大作業的課設,自己通過查找資料、復習課本、編程調試,寫實驗報告等環節,進一步掌握了以前學到的知識,并且還對gui組鍵的應用有了更深入的認
6、識與掌握,另外還學到了一些新東西,比如java 的swing、awt包,以前是沒有接觸過的,可是通過這次課程設計使得我們對這個包更了解。通過與數據庫的連接掌握了java與數據庫的連接技術。 通過實踐的學習,我認到學好計算機要重視實踐操作,不僅僅是學習java語言,還是其它的語言,以及其它的計算機方面的知識都要重在實踐,所以后在學習過程中,我會更加注視實踐操作,使自己便好地學好計算機。五程序代碼package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.
7、sql.*;public class studentmanager extends jframe implements actionlistener /繼承jframe類jmenubar jmb; /菜單欄jmenu message; /菜單jmenuitem item1,item2,item3,item4,item5,item6; /菜單項public studentmanager(string s) /構造函數 studentmanage/添加按鍵jmb = new jmenubar();message = new jmenu("學生信息");item1 = new j
8、menuitem("增加學生信息到指定班級"); /菜單名item2 = new jmenuitem("刪除一個學生學籍信息");item3 = new jmenuitem("修改一個學生信息");item4 = new jmenuitem("查詢某個學生信息");item5 = new jmenuitem("刪除一個班級信息");item6 = new jmenuitem("輸入一個學生建立一個班級");message.add(item1);message.add(item
9、2);message.add(item3);message.add(item4);message.add(item5);message.add(item6);jmb.add(message);item1.addactionlistener(this);item2.addactionlistener(this);item3.addactionlistener(this);item4.addactionlistener(this);item5.addactionlistener(this);item6.addactionlistener(this);settitle(s); /設置窗口標題setb
10、ounds(500,300,500,500); /窗口的位置setvisible(true); /組件可見setjmenubar(jmb); /菜單欄validate(); /再次布置容器及其組件setdefaultcloseoperation(jframe.exit_on_close);/設置隱藏,關閉,放大窗口public void actionperformed(actionevent e) /actionevent包含一個事件,該事件為執行動作事件 點擊按鈕等if (e.getsource() = item1) /e.getsource() = item2) 返回的當前動作所指向的對象
11、,包含對象的所有信息。 addstudent ad = new addstudent(); else if (e.getsource() = item2) /通過獲取事件源,獲取相應的對象deletestudent ds = new deletestudent(); else if (e.getsource() = item3) modifystudent ms = new modifystudent(); else if (e.getsource() = item4) searchstudent ss = new searchstudent(); else if (e.getsource()
12、 = item5) deleteclass dc = new deleteclass(); else if (e.getsource() = item6) builtclass bc = new builtclass();public static void main(string args) studentmanager stu=new studentmanager("學生管理系統");package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;impo
13、rt java.sql.*; public class addstudent extends jframe implements actionlistener /繼承java的窗口體類jlabel jl = new jlabel("添加學生到指定班級", jlabel.center); jlabel jlnumber = new jlabel("學號:"); /顯示輸入學號jtextfield jtnumber = new jtextfield(); /創建文本框jlabel jlname = new jlabel("姓名:");jt
14、extfield jtname = new jtextfield();jlabel jlclass = new jlabel("班級:");buttongroup bg = new buttongroup();jradiobutton jrb1 = new jradiobutton("一班");jradiobutton jrb2 = new jradiobutton("二班");jbutton jbadd = new jbutton("添加"); /創建按鈕jbutton jbexit = new jbutton(
15、"退出"); public addstudent() this.settitle("添加學生到指定班級");this.setlayout(null);jl.setbounds(100, 30, 200, 40);this.add(jl);jlnumber.setbounds(140, 80, 100, 20); /x軸和y軸,寬高this.add(jlnumber);jtnumber.setbounds(180, 80, 80, 20);this.add(jtnumber); jlname.setbounds(140, 120, 60, 20);this
16、.add(jlname);jtname.setbounds(180, 120, 80, 20);this.add(jtname);jlclass.setbounds(140, 160, 100, 20);this.add(jlclass);jrb1.setbounds(180, 160, 60, 20);jrb2.setbounds(240, 160, 60, 20);this.add(jrb1);this.add(jrb2);bg.add(jrb1);bg.add(jrb2);jbadd.setbounds(120, 220, 60, 20);this.add(jbadd);jbadd.ad
17、dactionlistener(this);jbexit.setbounds(200, 220, 60, 20);this.add(jbexit);jbexit.addactionlistener(this);this.setbounds(500, 300, 500, 400); /添加窗口的位置this.setvisible(true);public void actionperformed(actionevent e) / 監聽接口if (e.getsource() = jbadd) /點擊建立的時候生效string snumber = jtnumber.gettext(); /獲取文本框
18、中的信息string sname = jtname.gettext();string sclass = "一班"if (jrb1.isselected() /單選按鈕sclass = "一班"else sclass = "二班" connection con; /聲明connection對象 string driver = "com.mysql.jdbc.driver" /驅動程序名 /遍歷查詢結果集 try class.forname(driver); /加載驅動程序 con = drivermanager.ge
19、tconnection("jdbc:mysql:/localhost:3306/database?useunicode=true&characterencoding=utf-8&usessl=false","root","zfquot;); /1.getconnection()方法,連接mysql數據庫! statement statement = con.createstatement(); /2.創建statement類對象,用來執行sql語句! string sql = "select
20、* from student where id='"+snumber+"'" /要執行的sql語句 resultset rs = statement.executequery(sql); /3.resultset類,用來存放獲取的結果集!if (rs.next() joptionpane.showmessagedialog(null, "該號已經存在"); /提示else sql = "insert into student values('" + snumber + "','
21、;"+ sname + "','" + sclass +"')"int i = statement.executeupdate(sql); /執行sql語句,把返回值賦給iif (i > 0)joptionpane.showmessagedialog(null, "建立成功"); /提示成功elsejoptionpane.showmessagedialog(null, "添加失敗"); /提示失敗catch (exception ee) /捕獲異常 if (e.getsour
22、ce() = jbexit) /退出按鈕監視setvisible(false);public static void main(string args) new builtclass();package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class builtclass extends jframe implements actionlistener jlabel jl = new jlabel("輸入一
23、個學生建立一個班級", jlabel.center); /什么意思jlabel jlnumber = new jlabel("學號:"); /顯示輸入學號jtextfield jtnumber = new jtextfield(); /創建文本框jlabel jlname = new jlabel("姓名:");jtextfield jtname = new jtextfield();jlabel jlclass = new jlabel("班級:");jtextfield jtclass = new jtextfield(
24、);jbutton jbadd = new jbutton("建立"); /創建按鈕jbutton jbexit = new jbutton("退出"); /什么意思public builtclass() this.settitle("輸入一個學生建立一個班級");this.setlayout(null);jl.setbounds(100, 30, 200, 40);this.add(jl);jlnumber.setbounds(140, 80, 100, 20); /x軸和y軸,寬高this.add(jlnumber);jtnumb
25、er.setbounds(180, 80, 80, 20);this.add(jtnumber); jlname.setbounds(140, 120, 60, 20);this.add(jlname);jtname.setbounds(180, 120, 80, 20);this.add(jtname);jlclass.setbounds(140, 160, 100, 20);this.add(jlclass);jtclass.setbounds(180, 160, 80, 20);this.add(jtclass);jbadd.setbounds(120, 220, 60, 20);thi
26、s.add(jbadd);jbadd.addactionlistener(this);jbexit.setbounds(200, 220, 60, 20);this.add(jbexit);jbexit.addactionlistener(this);this.setbounds(500, 300, 500, 400);this.setvisible(true);public void actionperformed(actionevent e) /什么意思? 監聽接口if (e.getsource() = jbadd) /點擊建立的時候生效string snumber = jtnumber.
27、gettext(); /獲取文本框中的信息string sname = jtname.gettext();string sclass = jtclass.gettext(); connection con; /聲明connection對象 string driver = "com.mysql.jdbc.driver" /驅動程序名 /遍歷查詢結果集 try class.forname(driver); /加載驅動程序 con = drivermanager.getconnection("jdbc:mysql:/localhost:3306/database?use
28、unicode=true&characterencoding=utf-8&usessl=false","root","zfquot;); /1.getconnection()方法,連接mysql數據庫! statement statement = con.createstatement(); /2.創建statement類對象,用來執行sql語句! string sql = "select * from student where id='"+snumber+"'&q
29、uot; resultset rs = statement.executequery(sql); /3.resultset類,用來存放獲取的結果集!if (rs.next() joptionpane.showmessagedialog(null, "該號已經存在"); /提示else sql = "insert into student values('" + snumber + "','"+ sname + "','" + sclass +"')"
30、;int i = statement.executeupdate(sql); /執行sql語句,把返回值賦給iif (i > 0)joptionpane.showmessagedialog(null, "建立成功"); /提示成功elsejoptionpane.showmessagedialog(null, "添加失敗"); /提示失敗catch (exception ee) /什么意思? if (e.getsource() = jbexit) /什么意思?setvisible(false);public static void main(stri
31、ng args) new builtclass();package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class deleteclass extends jframe implements actionlistener jlabel jl = new jlabel("刪除一個班級信息", jlabel.center);jlabel jlclass = new jlabel("班級:&q
32、uot;); /顯示班級窗口jtextfield jtclass = new jtextfield(); /輸入班級的窗口jbutton jbdel = new jbutton("刪除");jbutton jbexit = new jbutton("退出"); public deleteclass() this.settitle("刪除一個班級信息");this.setlayout(null);jl.setbounds(100, 30, 200, 40);this.add(jl); jlclass.setbounds(140, 80,
33、 60, 20);this.add(jlclass);jtclass.setbounds(180, 80, 80, 20);this.add(jtclass); jbdel.setbounds(120, 120, 60, 20);this.add(jbdel);jbdel.addactionlistener(this);jbexit.setbounds(200, 120, 60, 20);this.add(jbexit);jbexit.addactionlistener(this);this.setbounds(500, 300, 500, 400);this.setvisible(true)
34、;public void actionperformed(actionevent e) /執行操作if (e.getsource() = jbdel) string sclass = jtclass.gettext(); /獲取文本中輸入的班級 connection con; /聲明connection對象 string driver = "com.mysql.jdbc.driver" /驅動程序名 /遍歷查詢結果集 try class.forname(driver); /加載驅動程序 con = drivermanager.getconnection("jdbc
35、:mysql:/localhost:3306/database?useunicode=true&characterencoding=utf-8&usessl=false","root","zfquot;); /1.getconnection()方法,連接mysql數據庫! statement statement = con.createstatement(); /2.創建statement類對象,用來執行sql語句! string sql = "select * from student where c
36、lass='"+sclass+"'" resultset rs = statement.executequery(sql); /3.resultset類,用來存放獲取的結果集!if (rs.next() sql = "delete from student where class='" + sclass + "'"int n = statement.executeupdate(sql);if (n > 0)joptionpane.showmessagedialog(null, "
37、;刪除成功");elsejoptionpane.showmessagedialog(null, "刪除失敗"); else joptionpane.showmessagedialog(null, "不存在該班級");catch (exception er) if (e.getsource() = jbexit) setvisible(false);public static void main(string args) new deleteclass();package simplebighomework;import javax.swing.
38、*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class deletestudent extends jframe implements actionlistener jlabel jl = new jlabel("刪除一個學生信息", jlabel.center);jlabel jlnumber = new jlabel("學號:"); /顯示輸入“學號”jtextfield jtnumber = new jtextfield(); / 輸入學號的文本框jl
39、abel jlclass = new jlabel("班級:"); /顯示輸入“班級”jtextfield jtclass = new jtextfield(); / 輸入班級的文本框jlabel jlname = new jlabel("姓名:"); /顯示輸入“姓名”jtextfield jtname = new jtextfield(); / 輸入姓名的文本框jbutton jbdel = new jbutton("刪除"); /刪除鍵jbutton jbexit = new jbutton("退出"); /
40、退出鍵 public deletestudent() this.settitle("刪除一個學生信息");this.setlayout(null);jl.setbounds(100, 30, 200, 40);this.add(jl);jlnumber.setbounds(140, 80, 100, 20); /x軸和y軸,寬高this.add(jlnumber);jtnumber.setbounds(180, 80, 80, 20);this.add(jtnumber); jlname.setbounds(140, 120, 80, 20); /x軸和y軸,寬高this.
41、add(jlname);jtname.setbounds(180, 120, 80, 20);this.add(jtname); jlclass.setbounds(140, 160, 80, 20); /x軸和y軸,寬高this.add(jlclass);jtclass.setbounds(180, 160, 80, 20);this.add(jtclass); jbdel.setbounds(120, 200, 60, 20);this.add(jbdel);jbdel.addactionlistener(this);jbexit.setbounds(200, 200, 60, 20);t
42、his.add(jbexit);jbexit.addactionlistener(this);this.setbounds(500, 300, 500, 400);this.setvisible(true);public void actionperformed(actionevent e)if (e.getsource() = jbdel) string snumber = jtnumber.gettext(); /獲取輸入的學號 connection con; /聲明connection對象 string driver = "com.mysql.jdbc.driver"
43、 /驅動程序名 /遍歷查詢結果集 try class.forname(driver); /加載驅動程序 con = drivermanager.getconnection("jdbc:mysql:/localhost:3306/database?useunicode=true&characterencoding=utf-8&usessl=false","root","zfquot;); statement statement = con.createstatement(); /2.創建statement
44、類對象,用來執行sql語句! string sql = "select * from student where id='"+snumber+"'" resultset rs = statement.executequery(sql); /3.resultset類,用來存放獲取的結果集!if (rs.next() sql = "delete from student where id='" + snumber + "'"int n = statement.executeupdate(
45、sql);if (n > 0)joptionpane.showmessagedialog(null, "刪除成功"); /執行了返回刪除成功 else joptionpane.showmessagedialog(null, "刪除失敗"); else joptionpane.showmessagedialog(null, "不存在該學號學生");catch (exception er) if (e.getsource() = jbexit) setvisible(false); public static void main (
46、string args) new deletestudent();package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*;public class modifystudent extends jframe implements actionlistener jlabel jl = new jlabel("修改一個學生信息", jlabel.center);jlabel jlnumber = new jlabel(&q
47、uot;學號:"); /顯示學號jtextfield jtnumber = new jtextfield(); /創建用于輸入學號的文本jlabel jlname = new jlabel("姓名:");jtextfield jtname = new jtextfield();jlabel jlclass = new jlabel("班級:");jtextfield jtclass = new jtextfield();jbutton jbget = new jbutton("修改"); /修改按鈕jbutton jbexi
48、t = new jbutton("退出"); public modifystudent() this.settitle("修改一個學生信息");this.setlayout(null);jl.setbounds(100, 30, 200, 40);this.add(jl);jlnumber.setbounds(140, 80, 100, 20); /x軸和y軸,寬高this.add(jlnumber);jtnumber.setbounds(180, 80, 80, 20);this.add(jtnumber); jlname.setbounds(140,
49、 120, 60, 20);this.add(jlname);jtname.setbounds(180, 120, 80, 20);this.add(jtname);jlclass.setbounds(140, 160, 100, 20);this.add(jlclass);jtclass.setbounds(180, 160, 80, 20);this.add(jtclass);jbget.setbounds(120, 220, 60, 20);this.add(jbget);jbget.addactionlistener(this);jbexit.setbounds(200, 220, 6
50、0, 20);this.add(jbexit);jbexit.addactionlistener(this);this.setbounds(500, 300, 500, 400);this.setvisible(true);public void actionperformed(actionevent e) if (e.getsource() = jbget) string snumber = jtnumber.gettext(); /讀取文本中輸入的學號string sname = jtname.gettext();string sclass = jtclass.gettext(); connection con; /聲明connection對象 string driver = "com.mysql.jdbc.driver" /驅動程序名 /遍歷查詢結果集 try class.forname(driver); /加載驅動程序 con = drivermanager.getconnection("jdbc:mysql:/localhost:3306/database?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安徽省阜陽市阜南實驗中學2024-2025學年高二下學期第二次階段性檢測(期中)地理試卷(含答案)
- 2025年Android資深開發者告訴你:簡歷這樣寫絕對吸引面試官眼球面試電話接到手軟
- 2025年android性能優化工具!原生Android開發的路該怎么走?Android校招面試指南
- 2024-2025學年下學期高一生物人教版期末必刷常考題之自然選擇與適應的形成
- 建筑施工特種作業-樁機操作工真題庫-4
- 色彩靜物構圖題目及答案
- 3 3 導數的綜合應用-2026版53高考數學總復習A版精煉
- 2023-2024學年四川省樂山市高二下學期期末考試數學試題(解析版)
- 2024-2025學年四川省廣安市高三第一次診斷性考試語文試題(解析版)
- 2024-2025學年山東省聊城市某校高一下學期第一次月考語文試題(解析版)
- 清拆勞務合同范本
- DL-T5366-2014發電廠汽水管道應力計算技術規程
- (高清版)JTST 273-2024 水運工程測量定額
- 《紙牌國》閱讀指導
- 公路工程設計設計的質量保證措施、進度保證措施
- 【同步訓練】《血液循環-體循環和肺循環》(解析版)
- 智能護理數字化驅動醫護智能管理
- 小學數學《比例》大單元教學設計
- 《鋼鐵是怎樣煉成的》選擇題100題(含答案)
- 漫談大型商場火災事故案例及防范課件
- 青少年毒品預防教育課件
評論
0/150
提交評論