Java大作業(yè)-簡單的學(xué)籍管理系統(tǒng)_第1頁
Java大作業(yè)-簡單的學(xué)籍管理系統(tǒng)_第2頁
Java大作業(yè)-簡單的學(xué)籍管理系統(tǒng)_第3頁
Java大作業(yè)-簡單的學(xué)籍管理系統(tǒng)_第4頁
Java大作業(yè)-簡單的學(xué)籍管理系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上上海電力學(xué)院期末作業(yè):簡單的學(xué)籍管理系統(tǒng) 課 程: Web應(yīng)用程序設(shè)計 院 系: 電氣工程學(xué)院 專 業(yè): 電力系統(tǒng)及其自動化 學(xué)生姓名: 張富杰 學(xué)號: 指導(dǎo)教師: 曹渝昆 2017年1月6日目錄一、設(shè)計思路隨著社會經(jīng)濟的發(fā)展,入學(xué)的同學(xué)越來越多,為方便對同學(xué)學(xué)籍信息的的管理,設(shè)計學(xué)籍管理軟件來管理本班級同學(xué)的學(xué)籍信息。該軟件應(yīng)支持添加、刪除、修改、查詢功能。 查詢方式主要是支持學(xué)號查詢,例如:輸入“1”,則顯示該學(xué)生的信息。 運用流式、卡片、整體布局方式對系統(tǒng)的主界面和各功能界面進行設(shè)計; 通過連接數(shù)據(jù)庫的方式來實現(xiàn)對數(shù)據(jù)的存儲;各功能實現(xiàn)時訪問數(shù)據(jù)庫,并對數(shù)據(jù)信息

2、進行讀取,運用Java語句對其進行輸出,學(xué)號查詢時顯示在文本框中;系統(tǒng)提示功能用來提醒用戶的錯誤操作和輸入時的錯誤信息,提醒用戶進行改正。二具體實現(xiàn)1 向班級里插入一個學(xué)生,但必須是插在已經(jīng)建立的班級里。    2 輸入學(xué)生信息,建立一個班級。    3 修改一個學(xué)生的所有資料。    4 刪除某班的一個學(xué)生及其所有資料。    5 刪除一個班級。 6根據(jù)學(xué)生姓名查找某個學(xué)生信息。每種功能通過一個類來實現(xiàn):類分分為主類、查詢類、修改類、

3、添加類、增加類。主類各功能界面的連接;精確查詢類(SearchStudent)實現(xiàn)根據(jù)學(xué)生姓名查找某個學(xué)生信息;修改類(MdifyStudent)實現(xiàn)修改一個學(xué)生的所有資料;添加類(AddStudent)實現(xiàn)向班級里插入一個學(xué)生,但必須是插在已經(jīng)建立的班級里。;刪除類(DeleteStudent)實現(xiàn)刪除某班的一個學(xué)生及其所有資料。;刪除類(DeleteClass)實現(xiàn)刪除一個班級;建立類(BuiltClass)實現(xiàn)輸入學(xué)生信息建立一個班級。三運行調(diào)試與分析系統(tǒng)的詳細設(shè)計代碼請查閱附帶的代碼。以下僅對各個界面進行截圖展示:圖1:管理界面圖2:添加學(xué)生到指定的班級界面圖3:刪除一個學(xué)生信息界面圖

4、4:修改一個學(xué)生信息界面圖5:查詢某個學(xué)生信息界面圖6刪除一個班級界面圖7:輸入一個學(xué)生建立一個班級界面運行JAVA程序中的StudentManager文件,顯示系統(tǒng)的主界面,如圖1所示,主界面有進入其他子功能的按鈕,選擇相應(yīng)的按鈕便可進入相應(yīng)的功能。添加學(xué)生到指定班級功能如圖2所示,根據(jù)提示輸入要添加的信息,點擊確定,將彈出提示框,確認是否添加。輸入一個學(xué)生建立一個班級功能如圖7所示,根據(jù)提示輸入要添加的信息,點擊確定,將彈出提示框,確認是否建立。刪除一個班級信息功能如圖6所示,根據(jù)提示輸入班級號,點擊刪除。刪除一個學(xué)生信息功能如圖3所示,根據(jù)提示輸入學(xué)號,點擊刪除。修改一個學(xué)生信息功能如圖

5、4所示,首先輸入要修改的人姓名,點擊開始修改,在下面的文本框現(xiàn)實當(dāng)前數(shù)據(jù)庫內(nèi)所存該人的信息,同時錄入修改鍵變化為可點擊,在文本框內(nèi)輸入要修改的學(xué)號,點擊錄入修改,系統(tǒng)將新信息錄如數(shù)據(jù)庫。點擊查詢某個學(xué)生信息按鈕,將彈出查詢對話框, 輸入姓名便可以精確查詢到此人的所有學(xué)籍信息。查詢?nèi)鐖D5所示,將顯示數(shù)據(jù)庫中所存的所有號碼信息。四設(shè)計體會與小結(jié)期末大作業(yè)的課設(shè),自己通過查找資料、復(fù)習(xí)課本、編程調(diào)試,寫實驗報告等環(huán)節(jié),進一步掌握了以前學(xué)到的知識,并且還對GUI組鍵的應(yīng)用有了更深入的認識與掌握,另外還學(xué)到了一些新東西,比如JAVA 的SWING、AWT包,以前是沒有接觸過的,可是通過這次課程設(shè)計使得我

6、們對這個包更了解。通過與數(shù)據(jù)庫的連接掌握了Java與數(shù)據(jù)庫的連接技術(shù)。 通過實踐的學(xué)習(xí),我認到學(xué)好計算機要重視實踐操作,不僅僅是學(xué)習(xí)java語言,還是其它的語言,以及其它的計算機方面的知識都要重在實踐,所以后在學(xué)習(xí)過程中,我會更加注視實踐操作,使自己便好地學(xué)好計算機。五程序代碼package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*;public class StudentManager extends JFrame implements

7、 ActionListener /繼承JFrame類JMenuBar jmb; /菜單欄JMenu Message; /菜單JMenuItem Item1,Item2,Item3,Item4,Item5,Item6; /菜單項public StudentManager(String s) /構(gòu)造函數(shù) StudentManage/添加按鍵jmb = new JMenuBar();Message = new JMenu("學(xué)生信息");Item1 = new JMenuItem("增加學(xué)生信息到指定班級"); /菜單名Item2 = new JMenuIte

8、m("刪除一個學(xué)生學(xué)籍信息");Item3 = new JMenuItem("修改一個學(xué)生信息");Item4 = new JMenuItem("查詢某個學(xué)生信息");Item5 = new JMenuItem("刪除一個班級信息");Item6 = new JMenuItem("輸入一個學(xué)生建立一個班級");Message.add(Item1);Message.add(Item2);Message.add(Item3);Message.add(Item4);Message.add(Item5)

9、;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); /設(shè)置窗口標(biāo)題setBounds(500,300,500,500); /窗口的位置setVisible(true); /組件可見setJMe

10、nuBar(jmb); /菜單欄validate(); /再次布置容器及其組件setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/設(shè)置隱藏,關(guān)閉,放大窗口public void actionPerformed(ActionEvent e) /ActionEvent包含一個事件,該事件為執(zhí)行動作事件 點擊按鈕等if (e.getSource() = Item1) /e.getSource() = Item2) 返回的當(dāng)前動作所指向的對象,包含對象的所有信息。 AddStudent ad = new AddStudent(); else if (e.ge

11、tSource() = Item2) /通過獲取事件源,獲取相應(yīng)的對象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() = Item5) DeleteClass dc = new DeleteClass(); else if (e.ge

12、tSource() = Item6) BuiltClass bc = new BuiltClass();public static void main(String args) StudentManager stu=new StudentManager("學(xué)生管理系統(tǒng)");package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class AddStudent extends JFrame imple

13、ments ActionListener /繼承java的窗口體類JLabel JL = new JLabel("添加學(xué)生到指定班級", JLabel.CENTER); JLabel JLNumber = new JLabel("學(xué)號:"); /顯示輸入學(xué)號JTextField JTNumber = new JTextField(); /創(chuàng)建文本框JLabel JLName = new JLabel("姓名:");JTextField JTName = new JTextField();JLabel JLClass = new JLa

14、bel("班級:");ButtonGroup BG = new ButtonGroup();JRadioButton JRB1 = new JRadioButton("一班");JRadioButton JRB2 = new JRadioButton("二班");JButton JBAdd = new JButton("添加"); /創(chuàng)建按鈕JButton JBExit = new JButton("退出"); public AddStudent() this.setTitle("添加

15、學(xué)生到指定班級");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.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JT

16、Name);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.addActionListener(this);JBExit.setBounds(200, 220, 60, 20);th

17、is.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400); /添加窗口的位置this.setVisible(true);public void actionPerformed(ActionEvent e) / 監(jiān)聽接口if (e.getSource() = JBAdd) /點擊建立的時候生效String snumber = JTNumber.getText(); /獲取文本框中的信息String sname = JTName.getText();String sclass = "一

18、班"if (JRB1.isSelected() /單選按鈕sclass = "一班"else sclass = "二班" Connection con; /聲明Connection對象 String driver = "com.mysql.jdbc.Driver" /驅(qū)動程序名 /遍歷查詢結(jié)果集 try Class.forName(driver); /加載驅(qū)動程序 con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/database?useUn

19、icode=true&characterEncoding=utf-8&useSSL=false","root","zfj"); /1.getConnection()方法,連接MySQL數(shù)據(jù)庫! Statement statement = con.createStatement(); /2.創(chuàng)建statement類對象,用來執(zhí)行SQL語句! String sql = "select * from student where id='"+snumber+"'" /要執(zhí)行的SQL

20、語句 ResultSet rs = statement.executeQuery(sql); /3.ResultSet類,用來存放獲取的結(jié)果集!if (rs.next() JOptionPane.showMessageDialog(null, "該號已經(jīng)存在"); /提示else sql = "insert into student values('" + snumber + "','"+ sname + "','" + sclass +"')"i

21、nt i = statement.executeUpdate(sql); /執(zhí)行SQL語句,把返回值賦給iif (i > 0)JOptionPane.showMessageDialog(null, "建立成功"); /提示成功elseJOptionPane.showMessageDialog(null, "添加失敗"); /提示失敗catch (Exception ee) /捕獲異常 if (e.getSource() = JBExit) /退出按鈕監(jiān)視setVisible(false);public static void main(String

22、 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("輸入一個學(xué)生建立一個班級", JLabel.CENTER); /什么意思JLabel JLNumber = new JLabel(&qu

23、ot;學(xué)號:"); /顯示輸入學(xué)號JTextField JTNumber = new JTextField(); /創(chuàng)建文本框JLabel JLName = new JLabel("姓名:");JTextField JTName = new JTextField();JLabel JLClass = new JLabel("班級:");JTextField JTClass = new JTextField();JButton JBAdd = new JButton("建立"); /創(chuàng)建按鈕JButton JBExit = n

24、ew JButton("退出"); /什么意思public BuiltClass() this.setTitle("輸入一個學(xué)生建立一個班級");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

25、, 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);this.add(JBAdd);JBAdd.addActionListener(this);JBExit.setBounds(200, 220,

26、60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) /什么意思? 監(jiān)聽接口if (e.getSource() = JBAdd) /點擊建立的時候生效String snumber = JTNumber.getText(); /獲取文本框中的信息String sname = JTName.getText();String sclass = J

27、TClass.getText(); Connection con; /聲明Connection對象 String driver = "com.mysql.jdbc.Driver" /驅(qū)動程序名 /遍歷查詢結(jié)果集 try Class.forName(driver); /加載驅(qū)動程序 con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false","

28、root","zfj"); /1.getConnection()方法,連接MySQL數(shù)據(jù)庫! Statement statement = con.createStatement(); /2.創(chuàng)建statement類對象,用來執(zhí)行SQL語句! String sql = "select * from student where id='"+snumber+"'" ResultSet rs = statement.executeQuery(sql); /3.ResultSet類,用來存放獲取的結(jié)果集!if (rs.

29、next() JOptionPane.showMessageDialog(null, "該號已經(jīng)存在"); /提示else sql = "insert into student values('" + snumber + "','"+ sname + "','" + sclass +"')"int i = statement.executeUpdate(sql); /執(zhí)行SQL語句,把返回值賦給iif (i > 0)JOptionPane.s

30、howMessageDialog(null, "建立成功"); /提示成功elseJOptionPane.showMessageDialog(null, "添加失敗"); /提示失敗catch (Exception ee) /什么意思? if (e.getSource() = JBExit) /什么意思?setVisible(false);public static void main(String args) new BuiltClass();package simplebighomework;import javax.swing.*; import

31、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("班級:"); /顯示班級窗口JTextField JTClass = new JTextField(); /輸入班級的窗口JButton JBDel = new

32、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, 60, 20);this.add(JLClass);JTClass.setBounds(180, 80, 80, 20);this.add(JTClass);

33、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);public void actionPerformed(ActionEvent e) /執(zhí)行操作if (e.getSource() = JBDel) Strin

34、g sclass = JTClass.getText(); /獲取文本中輸入的班級 Connection con; /聲明Connection對象 String driver = "com.mysql.jdbc.Driver" /驅(qū)動程序名 /遍歷查詢結(jié)果集 try Class.forName(driver); /加載驅(qū)動程序 con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&u

35、seSSL=false","root","zfj"); /1.getConnection()方法,連接MySQL數(shù)據(jù)庫! Statement statement = con.createStatement(); /2.創(chuàng)建statement類對象,用來執(zhí)行SQL語句! String sql = "select * from student where class='"+sclass+"'" ResultSet rs = statement.executeQuery(sql); /3.Res

36、ultSet類,用來存放獲取的結(jié)果集!if (rs.next() sql = "delete from student where class='" + sclass + "'"int n = statement.executeUpdate(sql);if (n > 0)JOptionPane.showMessageDialog(null, "刪除成功");elseJOptionPane.showMessageDialog(null, "刪除失敗"); else JOptionPane.sho

37、wMessageDialog(null, "不存在該班級");catch (Exception er) if (e.getSource() = JBExit) setVisible(false);public static void main(String args) new DeleteClass();package simplebighomework;import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*; public class DeleteStudent e

38、xtends JFrame implements ActionListener JLabel JL = new JLabel("刪除一個學(xué)生信息", JLabel.CENTER);JLabel JLNumber = new JLabel("學(xué)號:"); /顯示輸入“學(xué)號”JTextField JTNumber = new JTextField(); / 輸入學(xué)號的文本框JLabel JLClass = new JLabel("班級:"); /顯示輸入“班級”JTextField JTClass = new JTextField();

39、/ 輸入班級的文本框JLabel JLName = new JLabel("姓名:"); /顯示輸入“姓名”JTextField JTName = new JTextField(); / 輸入姓名的文本框JButton JBDel = new JButton("刪除"); /刪除鍵JButton JBExit = new JButton("退出"); /退出鍵 public DeleteStudent() this.setTitle("刪除一個學(xué)生信息");this.setLayout(null);JL.setBo

40、unds(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.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName); JLClass.setBounds(140, 160,

41、 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);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVi

42、sible(true);public void actionPerformed(ActionEvent e)if (e.getSource() = JBDel) String snumber = JTNumber.getText(); /獲取輸入的學(xué)號 Connection con; /聲明Connection對象 String driver = "com.mysql.jdbc.Driver" /驅(qū)動程序名 /遍歷查詢結(jié)果集 try Class.forName(driver); /加載驅(qū)動程序 con = DriverManager.getConnection("

43、jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false","root","zfj"); Statement statement = con.createStatement(); /2.創(chuàng)建statement類對象,用來執(zhí)行SQL語句! String sql = "select * from student where id='"+snumber+"'"

44、ResultSet rs = statement.executeQuery(sql); /3.ResultSet類,用來存放獲取的結(jié)果集!if (rs.next() sql = "delete from student where id='" + snumber + "'"int n = statement.executeUpdate(sql);if (n > 0)JOptionPane.showMessageDialog(null, "刪除成功"); /執(zhí)行了返回刪除成功 else JOptionPane.sh

45、owMessageDialog(null, "刪除失敗"); else JOptionPane.showMessageDialog(null, "不存在該學(xué)號學(xué)生");catch (Exception er) if (e.getSource() = JBExit) setVisible(false); public static void main (String args) new DeleteStudent();package simplebighomework;import javax.swing.*; import java.awt.*;impo

46、rt java.awt.event.*;import java.sql.*;public class ModifyStudent extends JFrame implements ActionListener JLabel JL = new JLabel("修改一個學(xué)生信息", JLabel.CENTER);JLabel JLNumber = new JLabel("學(xué)號:"); /顯示學(xué)號JTextField JTNumber = new JTextField(); /創(chuàng)建用于輸入學(xué)號的文本JLabel JLName = new JLabel(&qu

47、ot;姓名:");JTextField JTName = new JTextField();JLabel JLClass = new JLabel("班級:");JTextField JTClass = new JTextField();JButton JBGet = new JButton("修改"); /修改按鈕JButton JBExit = new JButton("退出"); public ModifyStudent() this.setTitle("修改一個學(xué)生信息");this.setLay

48、out(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.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName);JLClass.setBounds(14

49、0, 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, 60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisib

50、le(true);public void actionPerformed(ActionEvent e) if (e.getSource() = JBGet) String snumber = JTNumber.getText(); /讀取文本中輸入的學(xué)號String sname = JTName.getText();String sclass = JTClass.getText(); Connection con; /聲明Connection對象 String driver = "com.mysql.jdbc.Driver" /驅(qū)動程序名 /遍歷查詢結(jié)果集 try Class.forName(driver); /加載驅(qū)動程序 con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false","root","zfj

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論