




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、Java程序設計結(jié)課報告課程名稱JAVA程序設計設計題目學生選課管理系統(tǒng)專業(yè)班級學號學生姓名教師信息工程系目錄II第1章系統(tǒng)簡介31.1系統(tǒng)功能3第2章表的設計42.1系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu):4第3章連接數(shù)據(jù)庫的實現(xiàn)5第4章系統(tǒng)詳細設計64.1 系統(tǒng)登錄模塊設計64.2 系統(tǒng)主界面詳細設計84.3 學生管理模塊設計134.4 課程管理模塊設計164.5 選課管理,K塊設計18答辯記錄24成績考核表24學生選課管理系統(tǒng)第1章系統(tǒng)簡介1.1 系統(tǒng)功能本系統(tǒng)主要功能:1)管理學生信息,其中包括添加,刪除,修改等操作。2)管理課程信息,其中包括添加,刪除,修改等操作。3)管理選課信息,其中包括添加,刪除,修
2、改等操作。4)查詢信息,其中包括查詢學生信息,查詢課程信息,查詢選課信息5)維護系統(tǒng),備份所有表格為Excel格式。1.2系統(tǒng)引用例子課本P237頁13.10課本P364頁20.5課本P389頁20.10課本P387頁21.62.1系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu):在此小節(jié)將系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu)用表的形式畫出,如:字段名字段類型長度主/外鍵字段值約束對應中文名Snonvarchar50PNotnull學號Snamenvarchar50Notnull學生名字Sxnvarchar50Notnull學生系別字段名表字段類型2.1學4長度上信息表(主/外鍵S)字段值約束對應中文名Cnonvarchar50PNotnull
3、課程號Cnamenvarchar50Notnull課程名字字段名1字段類型:2.2設長度,鍵(C)字段值約束對應中文名Snonvarchar50PNotnull學號Cnonvarchar50PNotnull課程號Cnvarchar50Notnull分數(shù)表2.3選課信息表(SC第3章連接數(shù)據(jù)庫的實現(xiàn)此節(jié)可簡寫,可適當貼一些SQLServer數(shù)據(jù)庫連接的關鍵代碼,如:ConnectiondbConn=null;tryClass.forName("net.sourceforge.jtds.jdbc.Driver");dbConn=DriverManager.getConnecti
4、on("jdbc:jtds:sqlserver:/localhost:1433/"+"student","sa","123");catch(Exceptione)e.printStackTrace();returndbConn;/返回Connection對象第4章系統(tǒng)詳細設計4.1 系統(tǒng)登錄模塊設計1、 運行效果圖圖4.1.1登陸界面圖4.1.2登陸成功圖4.1.2登陸失敗2、 主要代碼importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;impor
5、tjava.sql.*;publicclassUserextendsJFrameprivateJLabeluse,password;privateJTextFieldk1;用戶名輸入框privateJPasswordFieldk2;密碼輸入框privateJButtonb1,b2;/登錄窗口publicUser(JFramef)super("系統(tǒng)登錄");Containerc=getContentPane();c.setLayout(newFlowLayout();use=newJLabel("username:");use.setFont(newFon
6、t("Serif",Font.PLAIN,20);password=newJLabel("password:");password.setFont(newFont("Serif",Font.PLAIN,20);k1=newJTextField(12);k2=newJPasswordField(12);b1=newJButton("登錄");b2=newJButton("退出");/設置登錄方法BHandlerb=newBHandler();EXITd=newEXIT();bl.addAction
7、Listener(b);b2.addActionListener(d);/添加控件c.add(use);c.add(kl);c.add(password);c.add(k2);c.add(bl);c.add(b2);setBounds(600,300,250,150);setVisible(true);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/主函數(shù)publicstaticvoidmain(String口args)Userf1=newUser(newJFrame();/登錄按鈕方法privatecla
8、ssBHandlerimplementsActionListenerpublicvoidactionPerformed(ActionEventevent)if(k1.getText().equals("")|k2.getText().equals("")JOptionPane.showMessageDialog(User.this,”用戶名密碼不能為空!");elseStatementstmt=null;ResultSetrs=null;Stringsql;sql="select*fromadminwhereusername='
9、;"+k1.getText()+""'tryConnectiondbConn1=Conn.CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);if(rs.next()Stringxm=rs.getString("password");if(k2.getText().equals(xm.trim()JOptionPane.s
10、howMessageDialog(User.this,"登錄成功");dispose。;newMenu();/管理窗口elseJOptionPane.showMessageDialog(User.this,"密碼錯誤");elseJOptionPane.showMessageDialog(User.this,”用戶名錯誤");rs.close();stmt.close();catch(SQLExceptione)JOptionPane.showMessageDialog(User.this,"SQL錯誤信息:"+e.getM
11、essage();/退出方法結(jié)束privateclassEXITimplementsActionListenerpublicvoidactionPerformed(ActionEventeven)System.exit(0);/父類結(jié)束4.2 系統(tǒng)主界面詳細設計1、運行效果圖圖4.2.1登陸成功后界面圖4.2.2學生管理菜單圖4.2.2課程管理菜單圖4.2.2選課管理菜單圖4.2.2查詢管理菜單2、實現(xiàn)代碼:添加數(shù)據(jù)時,若遇到必須信息未填寫、不能重復的信息在數(shù)據(jù)庫中已存在,都會提示無法添加及其錯誤原因。importjava.awt.*;importjava.awt.event.*;import
12、javax.swing.*;publicclassMenuextendsJFrameimplementsActionListenerAddstu增加學生界面;Updatastu修改學生界面;Delstu刪除學生界面;AddC增加課程界面;DelC刪除課程界面;UpdateC修改課程界面;AddSC增加選課界面;DelSC刪除選課界面;UpdateSC修改選課界面;Selstu學生查詢界面;Backup備份界面;JPanelpCenter;CardLayoutcard=null;JLabe11abel=null;JMenuBarmb=newJMenuBar();/菜單欄JMenum1=newJM
13、enu(學生管理");JMenuItemadd1=newJMenuItem("添加學生學籍");JMenuItemupdata1=newJMenuItem("更新學生學籍");JMenuItemdelete1=newJMenuItem("刪除學生學籍");JMenum2=newJMenufffi程管理");JMenuItemadd2=newJMenuItem("增力口課程");JMenuItemupdata2=newJMenuItem("更新課程");JMenuItemdel
14、ete2=newJMenuItem("刪除課程");JMenum3=newJMenu(選課管理");JMenuItemadd3=newJMenuItem("成績錄入");JMenuItemupdata3=newJMenuItem("成績修改");JMenuItemdelete3=newJMenuItem("成績刪除");JMenum4=newJMenu(查詢管理");JMenuItem學生查詢=newJMenuItem("查詢信息");JMenuItembackup=newJ
15、MenuItem("備份信息");JMenuItemm5=newJMenuItem("系統(tǒng)退出");Fontt=newFont("sanerif",Font.PLAIN12);publicMenu()this.setTitle("學生選課管理系統(tǒng)");tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exceptione)System.err.println("不能設置外觀:"+e);/組合菜單
16、addMenu1();addMenu2();addMenu3();addMenu4();addJMenuBar();setJMenuBar(mb);label=newJLabel("歡迎使用江西理工大學應科院選課管理系統(tǒng)",JLabel.CENTERlabel.setFont(newFont("宋體",Font.BOLIJ5);label.setHorizontalTextPosition(SwingConstants.CENTERlabel.setForeground(Color.red);/點擊事件add1.addActionListener(thi
17、s);updata1.addActionListener(this);delete1.addActionListener(this);m5.addActionListener(this);add2.addActionListener(this);delete2.addActionListener(this);updata2.addActionListener(this);add3.addActionListener(this);delete3.addActionListener(this);updata3.addActionListener(this);學生查詢.addActionListen
18、er(this);backup.addActionListener(this);card=newCardLayout();pCenter=newJPanel();pCenter.setLayout(card);增加學生界面=newAddstu();修改學生界面=newUpdatastu();刪除學生界面=newDelstu();增加課程界面=newAddC();刪除課程界面=newDelC();修改課程界面=newUpdateC();增加選課界面=newAddSC();刪除選課界面=newDelSC();修改選課界面=newUpdateSC();學生查詢界面=newSelstu();備份界面=
19、newBackup();label);增加學生界面); 修改學生界面); 刪除學生界面); 增加課程界面); 刪除課程界面); 修改課程界面); 增加選課界面); 刪除選課界面); 修改選課界面);學生查詢界面);pCenter.add("歡迎界面'pCenter.add("增加學生界面'pCenter.add("修改學生界面'pCenter.add("刪除學生界面'pCenter.add("增加課程界面'pCenter.add("刪除課程界面,pCenter.add("修改課程界面,
20、pCenter.add("增加選課界面,pCenter.add("刪除選課界面,pCenter.add("修改選課界面,pCenter.add("學生查詢界面,pCenter.add("備份界面",備份界面);add(pCenter,BorderLayout.CENTERvalidate。;setVisible(true);setBounds(400,150,600,380);setDefaultCloseOperation(JFrame.EXIT_ON_CLO&EaddWindowListener(newWindowAdap
21、ter()/關閉程序時的操publicvoidwindowClosing(WindowEvente)System.exit(0););validate。;privatevoidaddJMenuBar()mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);privatevoidaddMenu4()m4.add(學生查詢);m4.add(backup);m4.setFont(t);privatevoidaddMenu3()m3.add(add3);m3.add(updata3);m3.add(delete3);m3.setFont(t);p
22、rivatevoidaddMenu2()/將菜單加入到菜單欄中m2.add(add2);m2.add(updata2);m2.add(delete2);m2.setFont(t);privatevoidaddMenu1()ml.add(addl);ml.add(updatal);ml.add(deletel);ml.setFont(t);/字體publicvoidactionPerformed(ActionEvente)Objectobj=e.getSource();if(obj=m5)System.exit(0);elseif(obj=add1)card.show(pCenter,”增加學生
23、界面");elseif(obj=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) car
24、d.show(pCenter,” elseif(obj=updata3) card.show(pCenter,”增加課程界面刪除課程界面修改課程界面增加選課界面刪除選課界面修改選課界面");");");");");");elseif(obj=學生查詢)"););card.show(pCenter,”學生查詢界面elseif(obj=backup)card.show(pCenter,”備份界面publicstaticvoidmain(String口args)newMenu();4.3 學生管理模塊設計1、運行效果圖圖4.3.1
25、添加學生學籍圖4.3.1修改學生學籍圖4.3.1刪除學生學籍2、實現(xiàn)代碼:Addstu.java/Updatastu.java/Delstu.javaimportjava.awt.*;importjavax.swing.*;importjava.sql*;importjava.awt.event.*;publicclassAddstuextendsJPanelimplementsActionListenerJTextField學號,女4名,系別;JButton錄入;publicAddstu()tryUIManager.setLookAndFeel(UIManager.getSystemLook
26、AndFeelClassName();catch(Exceptione)System.err.println("不能設置外觀:"+e);學號"newJTextField(12);姓名"newJTextField(12);系別二newJTextField(12);錄入"newJButton("錄入");錄入.addActionListener(this);Boxbox1=Box.createHorizontalBox();/橫放boxBoxbox2=Box.createHorizontalBox();Boxbox3=Box.c
27、reateHorizontalBox();Boxbox4=Box.createHorizontalBox();box1.add(newJLabel("學號:"/*,JLabel.CENTER*/);box1.add(學號);box2.add(newJLabel("姓名:"/*,JLabel.CENTER*/);box2.add(姓名);box3.add(newJLabel("系另k7*,JLabel.CENTER*/);box3.add(系別);box4.add(錄入);BoxboxH=Box.createVerticalBox();/豎放bo
28、xboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanelmessPanel=newJPanel();messPanel.add(boxH);setLayout(newBorderLayout();add(messPanel,BorderLayout.CENTERvalidate。;publicvoidactionPerformed(ActionEventc)Objectobj=c.getSource();if(obj=錄入)if(學號.getText
29、().equals("")|姓名.getText().equals("")|系別.getText().equals("")JOptionPane.showMessageDialog(this,"學生信息請?zhí)顫M再錄入!");Statementstmt=null;ResultSetrs1=null;Stringsql,sql1;sql1="select*fromSwhereSno='"+學號.getText()+"”'sql="insertintoSvalues(
30、'"+學號.getText()+"','"+姓名.getText()+"','"+系別.getText()+"')"tryConnectiondbConn1=Conn.CONN;stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVEResultSet.CONCUR_READ_ONLYrs1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.
31、showMessageDialog(this,"該學號以存在,無法添加)elsestmt.executeUpdate(sql);JOptionPane.showMessageDialog(this,"添加成功");rs1.close();stmt.close();catch(SQLExceptione)System.out.print("SQLExceptionoccur.Messageis:"+e.getMessage();4.4 課程管理模塊設計1、運行效果圖圖4.4.1課程錄入界面圖4.4.2課程修改界面圖4.4.3課程刪除界面2、運行代
32、碼:AddC.java/UpdataC.java/DelC.javaimportjava.awt.*;importjavax.swing.*;importjava.sql*;importjava.awt.event.*;publicclassAddCextendsJPanelimplementsActionListenerJTextField課號,課名;JButton錄入;publicAddC()tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exceptione)System.err.pr
33、intln("不能設置外觀"+e);課號"newJTextField(12);課名=newJTextField(12);錄入=newJButton("錄入");錄入.addActionListener(this);Boxbox1=Box.createHorizontalBox();/橫放boxBoxbox2=Box.createHorizontalBox();Boxbox3=Box.createHorizontalBox();Boxbox4=Box.createHorizontalBox();box1.add(newJLabel("課
34、號:");box1.add(課號);box2.add(newJLabel("課名:");box2.add(課名);box4.add(錄入);BoxboxH=Box.createVerticalBox();/豎放boxboxH.add(boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanelmessPanel=newJPanel();messPanel.add(boxH);setLayout(newBorderLayout();add(mes
35、sPanel,BorderLayout.CENTE)Rvalidate。;publicvoidactionPerformed(ActionEventc)Objectobj=c.getSource();if(obj=錄入)if(課號.getText().equals("")|課名.getText().equals("")JOptionPane.showMessageDialog(this,”學生信息請?zhí)顫M再錄入!");Statementstmt=null;ResultSetrs=null,rs1=null;/結(jié)果集Stringsql,sql1;s
36、ql1="select*fromCwhereCno='"+課號.getText()+"”'sql="insertintoCvalues('"+課號.getText()+"','"+課名.getText()+"')"tryConnectiondbConn1=Conn.CONN;stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVEResultSet.CONCUR_REA
37、D_ONLYrs1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.showMessageDialog(this,”該課號以存在,無法添加)elsestmt.executeUpdate(sql);JOptionPane.showMessageDialog(this,"添力口成功)rs1.close();stmt.close();catch(SQLExceptione)System.out.print("SQL錯誤信息:"+e.getMessage();4.5選課管理模塊設計1、運行效果圖圖4.5.1成績錄入界面圖4
38、.5.2成績修改界面圖4.5.3成績刪除界面2、運行代碼:AddSC.java/UpdataSC.java/DelSC.javaimportjava.awt.*;importjavax.swing.*;importjava.sql.*;importjava.util.*;importjavax.swing.filechooser.*;importjava.io.*;importjava.awt.event.*;publicclassAddSCextendsJPanelimplementsActionListenerJTextField課號,學號,成績;JButton錄入;publicAddSC
39、()tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exceptione)System.err.println("不能設置夕卜觀"+e);課號二newJTextField(12);學號二newJTextField(12);成績=newJTextField(12);錄入=newJButton("錄入");錄入.addActionListener(this);Boxbox1=Box.createHorizontalBox();/橫放boxBoxbox2=B
40、ox.createHorizontalBox();Boxbox3=Box.createHorizontalBox();Boxbox4=Box.createHorizontalBox();box1.add(newJLabel("課號:");box1.add(課號);box2.add(newJLabel("學號:");box2.add(學號);box3.add(newJLabel("成績:");box3.add(成績);box4.add(錄入);BoxboxH=Box.createVerticalBox();/豎放boxboxH.add(
41、boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanelmessPanel=newJPanel();messPanel.add(boxH);setLayout(newBorderLayout();add(messPanel,BorderLayout.CENTER);validate。;publicvoidactionPerformed(ActionEventc)Objectobj=c.getSource();if(obj=錄入)if(課號.getText().equals("&quo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 韓國股份轉(zhuǎn)讓合同范本
- 中學食堂采購合同范本
- 供貨裝飾公司合同范本
- 取消網(wǎng)簽合同范本
- 產(chǎn)品會員合同范本
- 廠權(quán)轉(zhuǎn)讓合同范例
- 發(fā)票抬頭合同范本
- 中醫(yī)適宜技術考試題+參考答案
- 刷新公司合同范本
- 七年級上冊數(shù)學教學工作總結(jié)
- 拆除工程施工拆除進度安排
- 絕緣技術監(jiān)督上崗員:廠用電設備技術監(jiān)督考試資料一
- 衛(wèi)生監(jiān)督村醫(yī)培訓課件
- 動物的感覺器官
- 獵頭項目方案
- 2024年家庭教育指導師考試(重點)題庫及答案(含各題型)
- 直腸癌術后的康復護理
- 性商老師課程培訓課件
- 拆除鍋爐可行性報告
- 二級精神病醫(yī)院評審標準實施細則
- 全套ISO45001職業(yè)健康安全管理體系文件(手冊及程序文件)
評論
0/150
提交評論