




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 Java程序設計結課報告課程名稱 JAVA程序設計 設計題目 學生選課管理系統 專業班級 學 號 學生姓名 教 師 信息工程系目 錄目 錄III第1章 系統簡介41.1 系統功能4第2章 表的設計52.1 系統數據庫表結構:5第3章 連接數據庫的實現6第4章 系統詳細設計74.1系統登錄模塊設計74.2系統主界面詳細設計114.3學生管理模塊設計164.4課程管理模塊設計204.5選課管理模塊設計23答辯記錄27成績考核表27學生選課管理系統第1章 系統簡介1.1 系統功能本系統主要功能:1)管理學生信息,其中包括添加,刪除,修改等操作。2)管理課程信息,其中包括添加,刪除,修改等操作。3)
2、管理選課信息,其中包括添加,刪除,修改等操作。4)查詢信息,其中包括查詢學生信息,查詢課程信息,查詢選課信息.。5 )維護系統,備份所有表格為Excel格式。1.2 系統引用例子課本P237頁 13.10課本P364頁 20.5課本P389頁 20.10課本P387頁 21.6第2章 表的設計2.1 系統數據庫表結構:在此小節將系統數據庫表結構用表的形式畫出,如:字段名字段類型長度主/外鍵字段值約束對應中文名Snonvarchar50PNot null學號Snamenvarchar50Not null學生名字表2.1 學生信息表(S)Sxnvarchar50Not null學生系別字段名字段類
3、型長度主/外鍵字段值約束對應中文名Cnonvarchar50PNot null課程號Cnamenvarchar50Not null課程名字表2.2 課程信息表(C)字段名字段類型長度主/外鍵字段值約束對應中文名Snonvarchar50PNot null學號Cnonvarchar50PNot null課程號表2.3 選課信息表(SC)Cnvarchar50Not null分數第3章 連接數據庫的實現此節可簡寫,可適當貼一些SQL Server數據庫連接的關鍵代碼,如:Connection dbConn=null;try Class.forName(net.sourceforge.jtds.jd
4、bc.Driver); dbConn = DriverManager.getConnection( jdbc:jtds:sqlserver:/localhost:1433/ + student, sa, 123); catch (Exception e) e.printStackTrace(); return dbConn; / 返回Connection對象第4章 系統詳細設計4.1系統登錄模塊設計1、 運行效果圖 圖4.1.1 登陸界面圖4.1.2 登陸成功 圖4.1.2 登陸失敗 2、 主要代碼import java.awt.*;import java.awt.event.*;import
5、 javax.swing.*;import java.sql.*;public class User extends JFrameprivate JLabel use,password;private JTextField k1;/用戶名輸入框private JPasswordField k2;/密碼輸入框private JButton b1,b2;/登錄窗口public User(JFrame f)super(系統登錄);Container c=getContentPane();c.setLayout(new FlowLayout();use=new JLabel(username:);us
6、e.setFont(new Font(Serif,Font.PLAIN,20);password=new JLabel(password:);password.setFont(new Font(Serif,Font.PLAIN,20);k1=new JTextField(12);k2=new JPasswordField(12);b1=new JButton(登錄);b2=new JButton(退出);/設置登錄方法BHandler b=new BHandler();EXIT d=new EXIT();b1.addActionListener(b);b2.addActionListener(
7、d);/添加控件c.add(use);c.add(k1);c.add(password);c.add(k2);c.add(b1);c.add(b2);setBounds(600,300,250,150);setVisible(true);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/主函數public static void main(String args) User f1=new User(new JFrame();/登錄按鈕方法private class BHandler implements Ac
8、tionListenerpublic void actionPerformed(ActionEvent event)if(k1.getText().equals()|k2.getText().equals()JOptionPane.showMessageDialog(User.this,用戶名密碼不能為空! );elseStatement stmt=null;ResultSet rs=null;String sql; sql=select * from admin where username=+k1.getText()+; try Connection dbConn1=Conn.CONN()
9、;stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);if(rs.next()String xm=rs.getString(password);if(k2.getText().equals(xm.trim()JOptionPane.showMessageDialog(User.this,登錄成功);dispose();new Menu();/管理窗口 elseJOptionPane.showM
10、essageDialog(User.this,密碼錯誤); elseJOptionPane.showMessageDialog(User.this,用戶名錯誤);rs.close();stmt.close();catch(SQLException e)JOptionPane.showMessageDialog(User.this,SQL錯誤信息:+e.getMessage(); /退出方法結束private class EXIT implements ActionListenerpublic void actionPerformed(ActionEvent even)System.exit(0
11、);/父類結束4.2系統主界面詳細設計1、 運行效果圖 圖4.2.1 登陸成功后界面圖4.2.2 學生管理菜單圖4.2.2 課程管理菜單圖4.2.2 選課管理菜單圖4.2.2 查詢管理菜單2、實現代碼:添加數據時,若遇到必須信息未填寫、不能重復的信息在數據庫中已存在,都會提示無法添加及其錯誤原因。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Menu extends JFrame implements ActionListenerAddstu 增加學生界面;Updatastu 修改學生界面
12、;Delstu 刪除學生界面;AddC 增加課程界面;DelC 刪除課程界面;UpdateC 修改課程界面;AddSC 增加選課界面;DelSC 刪除選課界面;UpdateSC 修改選課界面;Selstu 學生查詢界面;Backup 備份界面;JPanel pCenter;CardLayout card=null;JLabel label=null;JMenuBar mb=new JMenuBar();/菜單欄JMenu m1=new JMenu(學生管理);JMenuItem add1=new JMenuItem(添加學生學籍 );JMenuItem updata1=new JMenuIte
13、m(更新學生學籍 );JMenuItem delete1=new JMenuItem(刪除學生學籍 );JMenu m2=new JMenu(課程管理);JMenuItem add2=new JMenuItem(增加課程 );JMenuItem updata2=new JMenuItem(更新課程 );JMenuItem delete2=new JMenuItem(刪除課程 );JMenu m3=new JMenu(選課管理);JMenuItem add3=new JMenuItem(成績錄入 );JMenuItem updata3=new JMenuItem(成績修改 );JMenuItem
14、 delete3=new JMenuItem(成績刪除 );JMenu m4=new JMenu(查詢管理);JMenuItem 學生查詢=new JMenuItem(查詢信息 );JMenuItem backup=new JMenuItem(備份信息 );JMenuItem m5=new JMenuItem(系統退出);Font t=new Font (sanerif,Font.PLAIN,12);public Menu ()this.setTitle(學生選課管理系統);try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelC
15、lassName();catch(Exception e)System.err.println(不能設置外觀: +e);/組合菜單addMenu1();addMenu2();addMenu3();addMenu4();addJMenuBar();setJMenuBar(mb);label=new JLabel(歡迎使用江西理工大學應科院選課管理系統,JLabel.CENTER);label.setFont(new Font(宋體,Font.BOLD,25);label.setHorizontalTextPosition(SwingConstants.CENTER);label.setForeg
16、round(Color.red);/點擊事件add1.addActionListener(this);updata1.addActionListener(this);delete1.addActionListener(this);m5.addActionListener(this);add2.addActionListener(this);delete2.addActionListener(this);updata2.addActionListener(this);add3.addActionListener(this);delete3.addActionListener(this);upda
17、ta3.addActionListener(this);學生查詢.addActionListener(this);backup.addActionListener(this);card=new CardLayout();pCenter=new JPanel();pCenter.setLayout(card);增加學生界面=new Addstu();修改學生界面=new Updatastu(); 刪除學生界面=new Delstu();增加課程界面=new AddC();刪除課程界面=new DelC();修改課程界面=new UpdateC();增加選課界面=new AddSC();刪除選課界
18、面=new DelSC();修改選課界面=new UpdateSC();學生查詢界面=new Selstu();備份界面=new Backup(); pCenter.add(歡迎界面,label);pCenter.add(增加學生界面,增加學生界面);pCenter.add(修改學生界面,修改學生界面);pCenter.add(刪除學生界面,刪除學生界面);pCenter.add(增加課程界面,增加課程界面);pCenter.add(刪除課程界面,刪除課程界面);pCenter.add(修改課程界面,修改課程界面);pCenter.add(增加選課界面,增加選課界面);pCenter.add(
19、刪除選課界面,刪除選課界面);pCenter.add(修改選課界面,修改選課界面);pCenter.add(學生查詢界面, 學生查詢界面);pCenter.add(備份界面, 備份界面);add(pCenter,BorderLayout.CENTER);validate();setVisible(true);setBounds(400,150,600,380);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); addWindowListener(new WindowAdapter()/關閉程序時的操作public void windowClosin
20、g(WindowEvent e)System.exit(0););validate();private void addJMenuBar() mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);private void addMenu4() m4.add(學生查詢);m4.add(backup); m4.setFont(t);private void addMenu3() m3.add(add3);m3.add(updata3);m3.add(delete3);m3.setFont(t);private void addMenu2()
21、/將菜單加入到菜單欄中m2.add(add2);m2.add(updata2);m2.add(delete2);m2.setFont(t);private void addMenu1() m1.add(add1);m1.add(updata1);m1.add(delete1);m1.setFont(t);/字體public void actionPerformed(ActionEvent e)Object obj=e.getSource();if(obj=m5)System.exit(0);elseif(obj=add1)card.show(pCenter,增加學生界面);elseif(obj
22、=updata1)card.show(pCenter,修改學生界面);elseif(obj=delete1)card.show(pCenter, 刪除學生界面);elseif(obj=add2)card.show(pCenter, 增加課程界面);elseif(obj=delete2)card.show(pCenter, 刪除課程界面);elseif(obj=updata2)card.show(pCenter, 修改課程界面);elseif(obj=add3)card.show(pCenter, 增加選課界面);elseif(obj=delete3)card.show(pCenter, 刪除選
23、課界面);elseif(obj=updata3)card.show(pCenter, 修改選課界面);elseif(obj=學生查詢)card.show(pCenter, 學生查詢界面);elseif(obj=backup)card.show(pCenter, 備份界面);public static void main(String args) new Menu();4.3學生管理模塊設計1、 運行效果圖圖4.3.1 添加學生學籍圖4.3.1 修改學生學籍圖4.3.1 刪除學生學籍2、 實現代碼:Addstu.java/Updatastu.java/Delstu.javaimport java
24、.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;public class Addstu extends JPanel implements ActionListenerJTextField 學號,姓名,系別;JButton 錄入;public Addstu()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println(不能設置外觀: +e);學號=n
25、ew JTextField(12);姓名=new JTextField(12);系別=new JTextField(12);錄入=new JButton(錄入);錄入.addActionListener(this);Box box1=Box.createHorizontalBox();/橫放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(new JLabel(學號:/*,JLabel.CENTER*/);box
26、1.add(學號);box2.add(new JLabel(姓名:/*,JLabel.CENTER*/);box2.add(姓名);box3.add(new JLabel(系別:/*,JLabel.CENTER*/);box3.add(系別);box4.add(錄入);Box boxH=Box.createVerticalBox();/豎放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel messPanel=new JPanel();me
27、ssPanel.add(boxH);setLayout(new BorderLayout();add(messPanel,BorderLayout.CENTER);validate();public void actionPerformed(ActionEvent c)Object obj=c.getSource();if(obj=錄入)if(學號.getText().equals()|姓名.getText().equals()|系別.getText().equals()JOptionPane.showMessageDialog(this,學生信息請填滿再錄入! );Statement stm
28、t=null;ResultSet rs1=null;String sql,sql1; sql1=select * from S where Sno=+學號.getText()+; sql=insert into S values(+學號.getText()+,+姓名.getText()+,+系別.getText()+); try Connection dbConn1=Conn.CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);r
29、s1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.showMessageDialog(this,該學號以存在,無法添加);elsestmt.executeUpdate(sql);JOptionPane.showMessageDialog(this,添加成功);rs1.close();stmt.close(); catch(SQLException e) System.out.print(SQL Exception occur.Message is:+e.getMessage(); 4.4課程管理模塊設計1、 運行效果圖圖4.4.1 課程錄入
30、界面圖4.4.2 課程修改界面圖4.4.3 課程刪除界面2、 運行代碼:AddC.java/UpdataC.java/DelC.javaimport java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;public class AddC extends JPanel implements ActionListenerJTextField 課號,課名;JButton 錄入;public AddC()try UIManager.setLookAndFeel(UIManager.getSystemLook
31、AndFeelClassName();catch(Exception e)System.err.println(不能設置外觀: +e);課號=new JTextField(12);課名=new JTextField(12);錄入=new JButton(錄入);錄入.addActionListener(this);Box box1=Box.createHorizontalBox();/橫放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBo
32、x();box1.add(new JLabel(課號:);box1.add(課號);box2.add(new JLabel(課名:);box2.add(課名);box4.add(錄入);Box boxH=Box.createVerticalBox();/豎放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayo
33、ut();add(messPanel,BorderLayout.CENTER);validate();public void actionPerformed(ActionEvent c)Object obj=c.getSource();if(obj=錄入)if(課號.getText().equals()|課名.getText().equals()JOptionPane.showMessageDialog(this,學生信息請填滿再錄入! );Statement stmt=null;ResultSet rs=null,rs1=null;/結果集String sql,sql1; sql1=sele
34、ct * from C where Cno=+課號.getText()+; sql=insert into C values(+課號.getText()+,+課名.getText()+); try Connection dbConn1=Conn.CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.showMessageDial
35、og(this,該課號以存在,無法添加);elsestmt.executeUpdate(sql);JOptionPane.showMessageDialog(this,添加成功);rs1.close();stmt.close(); catch(SQLException e) System.out.print(SQL 錯誤信息:+e.getMessage(); 4.5選課管理模塊設計1、運行效果圖圖4.5.1 成績錄入界面圖4.5.2 成績修改界面圖4.5.3 成績刪除界面2、運行代碼:AddSC.java/UpdataSC.java/DelSC.javaimport java.awt.*;im
36、port javax.swing.*;import java.sql.*;import java.util.*;import javax.swing.filechooser.*;import java.io.*;import java.awt.event.*;public class AddSC extends JPanel implements ActionListenerJTextField 課號,學號,成績;JButton 錄入;public AddSC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassNa
37、me();catch(Exception e)System.err.println(不能設置外觀: +e);課號=new JTextField(12);學號=new JTextField(12);成績=new JTextField(12);錄入=new JButton(錄入);錄入.addActionListener(this);Box box1=Box.createHorizontalBox();/橫放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHori
38、zontalBox();box1.add(new JLabel(課號:);box1.add(課號);box2.add(new JLabel(學號:);box2.add(學號);box3.add(new JLabel(成績:);box3.add(成績);box4.add(錄入);Box boxH=Box.createVerticalBox();/豎放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout();add
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論