數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告--成績管理系統(tǒng)_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計(jì)(論文)</b></p><p>  課程名稱 數(shù)據(jù)庫課程設(shè)計(jì) </p><p>  題目名稱__ 成績管理系統(tǒng)_____</p><p>  學(xué)生學(xué)院 計(jì)算機(jī)學(xué)院 </p><p>  專業(yè)班級(jí) </p>

2、<p>  學(xué) 號(hào)__ _ _______</p><p>  2016年 1 月 目錄</p><p>  引言………………………………………………………………………………..5</p><p>  1 相關(guān)技術(shù)介紹……………………………………………………………………5</p><p>  2 需求分析……………………

3、……………………………………………………6</p><p>  2.1數(shù)據(jù)字典…………………………………………………………………...6</p><p>  2.2 數(shù)據(jù)流圖…………………………………………………………………..6</p><p>  3 概念結(jié)構(gòu)設(shè)計(jì)……………………………………………………………………7</p><p>  

4、4 邏輯結(jié)構(gòu)設(shè)計(jì)……………………………………………………………………8</p><p>  4.1 數(shù)據(jù)庫設(shè)計(jì)………………………………………………………………..8</p><p>  4.2 關(guān)系模式…………………………………………………………………..8</p><p>  4.3 系統(tǒng)模塊圖及各功能模塊說明……………………………………………………....9&l

5、t;/p><p>  5 數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)…………………………………………………………10</p><p>  6 用戶界面設(shè)計(jì)……………………………………………………………………12</p><p>  7 系統(tǒng)測試方案與測試報(bào)告………………………………………………………14</p><p>  7.1 測試方案……………………………………

6、……………………………..14</p><p>  7.2 測試報(bào)告…………………………………………………………………..14</p><p>  8 安裝和使用說明…………………………………………………………………19</p><p>  9 心得體會(huì)…………………………………………………………………………19</p><p>  10 參

7、考文獻(xiàn)………………………………………………………………………..20</p><p><b>  引言</b></p><p>  信息社會(huì)的高科技,商品經(jīng)濟(jì)化的高效益,使計(jì)算機(jī)的應(yīng)用已普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。雖然計(jì)算機(jī)與人類的關(guān)系愈來愈密切,但是還有人由于計(jì)算機(jī)操作不方便而繼續(xù)用手工勞動(dòng)。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不

8、僅提高了工作效率,而且大大的提高了其安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。 而成績管理系統(tǒng)恰恰符合了教學(xué)需求,當(dāng)教師需要錄入學(xué)生信息時(shí),成績管理系統(tǒng)就能大大方便教師的操作,提高效率。成績管理系統(tǒng)主要提供了學(xué)生成績的錄入,包括學(xué)生的平時(shí)成績,總評(píng)成績,補(bǔ)考成績,掛科成績,各類的成績的打印及優(yōu)秀學(xué)生的評(píng)選。</p><p><b>  一、相關(guān)技術(shù)介紹</b></p

9、><p>  這個(gè)課程設(shè)計(jì)是用java+MySql 編寫的 ,java是為數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序開發(fā)而設(shè)計(jì)的功能強(qiáng)大的面向?qū)ο蟮沫h(huán)境。MySql其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。</p><p><b>  二、需求分析</b></p><p><b>  2.

10、1數(shù)據(jù)字典</b></p><p>  學(xué)生信息:學(xué)號(hào),姓名,性別,班級(jí),專業(yè),已獲學(xué)分</p><p>  選課表:學(xué)號(hào),課程號(hào),課程名,是否獲取學(xué)分</p><p>  課程:課程號(hào),課程名,課程學(xué)分</p><p>  成績表:學(xué)號(hào),課程號(hào),課程名,平時(shí)成績,考試趁機(jī),補(bǔ)考成績,重修成績,總評(píng)成績</p>&l

11、t;p><b>  2.2數(shù)據(jù)流圖</b></p><p><b>  三、概念結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  E-R圖:</b></p><p><b>  四、邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  4.1數(shù)據(jù)庫

12、設(shè)計(jì):</b></p><p>  數(shù)據(jù)庫由以下表組成:</p><p>  Student:學(xué)生信息表</p><p>  Choose_course:選課表</p><p>  Course:課程表</p><p><b>  Score:成績表</b></p>&l

13、t;p><b>  具體功能如下:</b></p><p>  根據(jù)學(xué)生選課表對(duì)學(xué)生成績表進(jìn)行各科成績的錄入</p><p><b>  4.2關(guān)系模式</b></p><p>  學(xué)生信息表(學(xué)號(hào),姓名,性別,班級(jí),專業(yè),已獲學(xué)分),其中學(xué)號(hào)為主碼。</p><p>  選課表(學(xué)號(hào),課程號(hào)

14、,課程名,是否獲取學(xué)分),其中學(xué)號(hào)和課程號(hào)為外碼。</p><p>  課程(課程號(hào),課程名,課程學(xué)分),其中課程號(hào)為主碼。</p><p>  成績表(學(xué)號(hào),課程號(hào),課程名,平時(shí)成績,考試趁機(jī),補(bǔ)考成績,重修成績,總評(píng)成績),其中學(xué)號(hào)和課程號(hào)為外碼。</p><p>  4.3系統(tǒng)模塊圖請(qǐng)參照2.2中的數(shù)據(jù)流圖。</p><p><b

15、>  各模塊功能說明:</b></p><p>  系統(tǒng)登錄:該系統(tǒng)使用時(shí)需登錄,默認(rèn)賬號(hào)為:3113005818,密碼為123。</p><p>  成績登記:用于登記各類成績</p><p>  考試成績登記:用于登記考試成績及平時(shí)成績。</p><p>  補(bǔ)考成績登記:用于登記補(bǔ)考成績。</p><

16、;p>  重修成績登記:用于登記重修成績。</p><p>  打?。河糜诖蛴「鞣N信息</p><p>  總評(píng)成績打印:用于打印總評(píng)成績。其中:總評(píng)成績=30%*平時(shí)成績+70*考試成績。</p><p>  補(bǔ)考名單打?。河糜诖蛴⊙a(bǔ)考名單,即總評(píng)成績不到60分的學(xué)生。</p><p>  補(bǔ)考成績打?。河糜诖蛴⊙a(bǔ)考學(xué)生的成績。<

17、;/p><p>  重修名單打印:用于打印重修名單,及總評(píng)成績不到60且補(bǔ)考成績也不到60的學(xué)生。</p><p>  重修成績打?。河糜诖蛴≈匦迣W(xué)生的成績。</p><p>  優(yōu)秀學(xué)生打?。河糜诖蛴?yōu)秀學(xué)生。及該學(xué)生每科總評(píng)成績均大于85.</p><p><b>  退出:退出系統(tǒng)。</b></p>&l

18、t;p>  五、數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)</p><p><b>  創(chuàng)建數(shù)據(jù)庫:</b></p><p>  首先打開MySql可視化工具,我使用的是navicat for mySq建立數(shù)據(jù)庫,首先向創(chuàng)建一個(gè)連接,然后在打開連接并右鍵選擇創(chuàng)建grade_management數(shù)據(jù)庫,并依次創(chuàng)建各表。</p><p><b>  如下圖

19、所示:</b></p><p>  創(chuàng)建各表的腳本文件如下</p><p><b>  創(chuàng)建學(xué)生表:</b></p><p>  CREATE TABLE student (</p><p>  s_no CHAR (8) PRIMARY KEY,</p><p>  s_name C

20、HAR (8) NOT NULL,</p><p>  s_sex CHAR (2),</p><p>  s_class CHAR (8),</p><p>  s_spec CHAR (8)</p><p><b>  )</b></p><p><b>  創(chuàng)建課程表:</b

21、></p><p>  CREATE TABLE course (</p><p>  c_no CHAR (8) PRIMARY KEY,</p><p>  c_name CHAR (8) NOT NULL,</p><p>  c_point SMALLINT,</p><p>  c_time SMALL

22、INT</p><p><b>  )</b></p><p><b>  創(chuàng)建選課表: </b></p><p>  CREATE TABLE choose_couse (</p><p>  s_no CHAR (8) NOT NULL,</p><p>  FOREIG

23、N KEY (s_no) REFERENCES student (s_no),</p><p>  c_no CHAR (8) NOT NULL,</p><p>  FOREIGN KEY (c_no) REFERENCES course (c_no),</p><p>  c_name CHAR (8)</p><p><b>

24、  )</b></p><p><b>  創(chuàng)建成績表:</b></p><p>  CREATE TABLE score (</p><p>  s_no CHAR (8),</p><p>  FOREIGN KEY (s_no) REFERENCES student (s_no),</p>

25、<p>  c_no CHAR (8),</p><p>  FOREIGN KEY (c_no) REFERENCES course (c_no),</p><p>  c_name CHAR (8),</p><p>  ord_score INT,</p><p>  exam_score INT,</p>&

26、lt;p>  makeup_score INT,</p><p>  renovate_score INT,</p><p>  final_score INT</p><p><b>  )</b></p><p>  建表完成后在C:\ProgramData\MySQL\MySQL Server 5.1\dat

27、a\grade_management目錄下會(huì)有四個(gè)表,如下:</p><p><b>  六、用戶界面的設(shè)計(jì)</b></p><p><b>  登錄界面如下:</b></p><p><b>  主界面如下:</b></p><p><b>  選擇界面如下:<

28、;/b></p><p><b>  打印界面如下:</b></p><p>  七、系統(tǒng)測試方案與測試報(bào)告:</p><p><b>  7.1測試方案:</b></p><p><b>  添加學(xué)生成績測試</b></p><p>  添加學(xué)生

29、補(bǔ)考成績測試:</p><p>  添加學(xué)生重修成績測試:</p><p>  學(xué)生總評(píng)成績打印測試</p><p>  學(xué)生補(bǔ)考名單打印測試:</p><p>  學(xué)生補(bǔ)考成績單打印測試:</p><p>  學(xué)生重修通知單打印測試:</p><p>  學(xué)生重修成績單打印測試:</p&

30、gt;<p><b>  優(yōu)秀學(xué)生名單打?。?lt;/b></p><p><b>  7.2測試報(bào)告</b></p><p><b>  添加學(xué)生成績測試:</b></p><p>  添加學(xué)生補(bǔ)考成績測試:</p><p>  添加學(xué)生重修成績測試:</p&g

31、t;<p>  學(xué)生總評(píng)成績打印測試:</p><p>  學(xué)生補(bǔ)考名單打印測試:</p><p>  學(xué)生補(bǔ)考成績單打印測試:</p><p>  學(xué)生重修通知單打印測試:</p><p>  學(xué)生重修成績單打印測試:</p><p><b>  優(yōu)秀學(xué)生名單打?。?lt;/b><

32、/p><p><b>  八、安裝和使用說明</b></p><p>  本程序使用的數(shù)據(jù)庫軟件是MySql,安裝MySql后需設(shè)置MySql的用戶登錄口令為root,并建立數(shù)據(jù)庫grade_management,并建建表文件導(dǎo)入該目錄下,或者直接新建grade_management的四個(gè)表并填寫數(shù)據(jù)。</p><p>  程序已經(jīng)打包為一個(gè)jar

33、可執(zhí)行的java文件,需在有安裝java虛擬機(jī)的環(huán)境下才能正常打開使用。</p><p><b>  九、心得體會(huì)</b></p><p>  通過本次的數(shù)據(jù)庫課程設(shè)計(jì),我進(jìn)一步的了解了數(shù)據(jù)庫的開發(fā)和使用,與看課本學(xué)習(xí)不同的是,這次是動(dòng)手實(shí)踐去做,而不僅僅局限于課本上的理論知識(shí),更加進(jìn)一步加深了對(duì)數(shù)據(jù)庫的理解。并且,本次課程設(shè)計(jì)采用的開發(fā)語言是java,很多java知

34、識(shí)自己完全不懂,之前也沒有很深入的去學(xué)習(xí)java,所以很多知識(shí)點(diǎn)或者說是實(shí)現(xiàn)功能都是從網(wǎng)上找的或者看書找到的,雖然說這樣做是辛苦點(diǎn),而且效率會(huì)低點(diǎn)。但是,從中我確實(shí)也學(xué)到了不少知識(shí)。從一開始的java連接數(shù)據(jù)庫,開始不知道怎么做,無從下手,后來翻書找到了實(shí)現(xiàn)的方法,當(dāng)時(shí)確實(shí)自己是挺開始的。后來又接著遇到不少難題,比如界面轉(zhuǎn)換,這是我做本次數(shù)據(jù)庫課設(shè)最失敗的地方,本來想在一個(gè)界面實(shí)現(xiàn)多個(gè)登記表的填寫裝換,后來發(fā)現(xiàn)不行,新添加的表總是覆蓋前

35、面添加的表導(dǎo)致表不可見。無奈,只得用彈窗的方式把表格呈現(xiàn)出來,當(dāng)時(shí)也花費(fèi)了比較多的時(shí)間。或許是自己知識(shí)的漏洞吧,接下來還得好好學(xué)習(xí)java知識(shí)。再者,就是電腦的系統(tǒng)一直裝不了sql server,所以只能更換為MySql。還有一點(diǎn)感觸最深的就是或許我的程序bug漏洞百出,又或者有各種各樣的不好。但是,我想說的就是這個(gè)程序是我一個(gè)按鍵</p><p><b>  十、參考文獻(xiàn)</b></

36、p><p>  《 數(shù)據(jù)庫系統(tǒng)概論(第五版), 王珊 薩師煊 ,高等教育出版社》</p><p>  《瘋狂java講義》</p><p>  源代碼(需導(dǎo)入java連接數(shù)據(jù)庫mysql的驅(qū)動(dòng))</p><p>  import java.awt.Button;</p><p>  import java.awt.Canv

37、as;</p><p>  import java.awt.Color;</p><p>  import java.awt.Dimension;</p><p>  import java.awt.Graphics;</p><p>  import java.awt.Point;</p><p>  import

38、java.awt.Toolkit;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.awt.event.WindowAdapter;</p><p>  impo

39、rt java.awt.event.WindowEvent;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql

40、.Statement;</p><p>  import javax.swing.JButton;</p><p>  import javax.swing.JDialog;</p><p>  import javax.swing.JFrame;</p><p>  import javax.swing.JLabel;</p>

41、<p>  import javax.swing.JMenu;</p><p>  import javax.swing.JMenuBar;</p><p>  import javax.swing.JMenuItem;</p><p>  import javax.swing.JOptionPane;</p><p>  imp

42、ort javax.swing.JPanel;</p><p>  import javax.swing.JPasswordField;</p><p>  import javax.swing.JScrollPane;</p><p>  import javax.swing.JTable;</p><p>  import javax.s

43、wing.JTextField;</p><p>  import javax.swing.SwingUtilities;</p><p>  public class TeachingManageSystem extends WindowAdapter</p><p><b>  {</b></p><p>  JF

44、rame fm=new JFrame("成績管理系統(tǒng)");//窗口</p><p>  JFrame fmS=new JFrame("考試成績登記");</p><p>  JFrame fmD=new JFrame("成績打印");</p><p>  JFrame fm1=new JFrame(&qu

45、ot;考試成績登記");</p><p>  JFrame fm2=new JFrame("補(bǔ)考成績登記");</p><p>  JFrame fm3=new JFrame("重修成績登記");</p><p>  JFrame fm_score=new JFrame("期末成績單");<

46、/p><p>  JFrame fm4=new JFrame("補(bǔ)考通知單");</p><p>  JFrame fm5=new JFrame("補(bǔ)考成績單");</p><p>  JFrame fm6=new JFrame("重修通知單");</p><p>  JFrame fm

47、7=new JFrame("重修成績單");</p><p>  JFrame fm8=new JFrame("優(yōu)秀學(xué)生名單");</p><p>  JMenuBar mb=new JMenuBar();//菜單欄</p><p>  JMenu s_rg=new JMenu("成績登記");</

48、p><p>  JMenu print=new JMenu("打印");</p><p>  JMenu exit=new JMenu("退出");</p><p>  JMenuItem exam_rg=new JMenuItem("考試成績登記");//菜單項(xiàng)</p><p>  

49、JMenuItem makeup_rg=new JMenuItem("補(bǔ)考成績登記");</p><p>  JMenuItem renovate_rg=new JMenuItem("重修成績登記");</p><p>  JMenuItem final_score=new JMenuItem("總評(píng)成績");</p>

50、;<p>  JMenuItem makeup_notice=new JMenuItem("補(bǔ)考通知單");</p><p>  JMenuItem makeup_score=new JMenuItem("補(bǔ)考成績單");</p><p>  JMenuItem renovate_notice=new JMenuItem("重

51、修通知單");</p><p>  JMenuItem renovate_score=new JMenuItem("重修成績單");</p><p>  JMenuItem excellent_student=new JMenuItem("優(yōu)秀學(xué)生名單");</p><p>  JMenuItem exit_syst

52、em=new JMenuItem("退出系統(tǒng)");</p><p>  JPanel jp1=new JPanel();//用于裝考試信息</p><p>  JPanel jp2=new JPanel();//用于裝教職工信息</p><p>  JPanel jp3=new JPanel();//用于裝系別信息</p>

53、<p>  JPanel jp_score=new JPanel();//用于打印成績單</p><p>  JPanel jp4=new JPanel();//用于打印補(bǔ)考通知單</p><p>  JPanel jp5=new JPanel();//用于答應(yīng)補(bǔ)考成績單</p><p>  JPanel jp6=new JPanel();//用于

54、打印重修通知單</p><p>  JPanel jp7=new JPanel();//用于打印重修成績單</p><p>  JPanel jp8=new JPanel();//用于打印優(yōu)秀學(xué)生名單</p><p>  JTable jt1;</p><p>  JScrollPane js1;</p><p>

55、  Object[][] obj=new Object[16][5];</p><p>  JTable jt2;</p><p>  JScrollPane js2;</p><p>  Object[][] obj2=new Object[16][4];</p><p>  JTable jt3;</p><p>

56、  JScrollPane js3;</p><p>  Object[][] obj3=new Object[16][4];</p><p>  JScrollPane js_score;</p><p>  Button bt1=new Button("保存");</p><p>  Button bt2=new Bu

57、tton("保存");</p><p>  Button bt3=new Button("保存");</p><p>  String driver="com.mysql.jdbc.Driver";//連接數(shù)據(jù)庫</p><p>  private MyCanvas drawArea=new MyCanv

58、as();//用于顯示打印的畫布</p><p>  private MyCanvas2 drawArea2=new MyCanvas2();</p><p>  private MyCanvas3 drawArea3=new MyCanvas3();</p><p>  private MyCanvas4 drawArea4=new MyCanvas4();&l

59、t;/p><p>  private MyCanvas5 drawArea5=new MyCanvas5();</p><p>  private MyCanvas6 drawArea6=new MyCanvas6();</p><p>  int Style;</p><p>  JDialog jd1=new JDialog();//對(duì)話框

60、</p><p>  JDialog jd2=new JDialog();</p><p>  public static void main(String[] args) throws Exception</p><p><b>  {</b></p><p>  (new TeachingManageSystem()

61、).log();</p><p>  //(new TeachingManageSystem()).frame();</p><p><b>  }</b></p><p>  void initial() throws Exception</p><p><b>  {</b></p>

62、<p>  exit.add(exit_system);</p><p>  exit_system.addActionListener(new ItemListener());</p><p>  s_rg.add(exam_rg);//成績登記菜單添加菜單項(xiàng)</p><p>  s_rg.add(makeup_rg);</p>&l

63、t;p>  s_rg.add(renovate_rg);</p><p>  exam_rg.addActionListener(new ItemListener());//菜單項(xiàng)添加監(jiān)聽器</p><p>  makeup_rg.addActionListener(new ItemListener());</p><p>  renovate_rg.add

64、ActionListener(new ItemListener());</p><p>  print.add(final_score);//信息查詢菜單添加菜單項(xiàng)</p><p>  print.add(makeup_notice);</p><p>  print.add(makeup_score);</p><p>  print.

65、add(renovate_notice);</p><p>  print.add(renovate_score);</p><p>  print.add(excellent_student);</p><p>  final_score.addActionListener(new ItemListener());//綁定監(jiān)聽器</p><p

66、>  makeup_notice.addActionListener(new ItemListener());</p><p>  makeup_score.addActionListener(new ItemListener());</p><p>  renovate_notice.addActionListener(new ItemListener());</p>

67、<p>  renovate_score.addActionListener(new ItemListener());</p><p>  excellent_student.addActionListener(new ItemListener());</p><p>  mb.add(s_rg);//菜單欄添加菜單</p><p>  mb.add

68、(print);</p><p>  mb.add(exit);</p><p>  fm.setJMenuBar(mb);//窗口添加菜單欄</p><p>  bt1.addActionListener(new ButtonListener());//按鈕綁定監(jiān)聽器</p><p>  bt2.addActionListener(n

69、ew ButtonListener());</p><p>  bt3.addActionListener(new ButtonListener());</p><p>  getTable();//成績登記表</p><p>  js1.setBounds(20,20,450,200);</p><p>  jp1.setLayout(n

70、ull);</p><p>  jp1.add(js1);</p><p>  bt1.setBounds(410,240,50,20);</p><p>  jp1.add(bt1);</p><p>  jp1.setVisible(true);</p><p>  fm1.add(jp1);</p>

71、<p>  fm1.setSize(500,320);</p><p>  getTable2();//補(bǔ)考成績表</p><p>  js2.setBounds(20,20,450,200);</p><p>  //jp2.setBorder(new TitledBorder("補(bǔ)考考試成績登記表"));</p>

72、<p>  jp2.setLayout(null);</p><p>  jp2.add(js2);</p><p>  bt2.setBounds(410,240,50,20);</p><p>  jp2.add(bt2);</p><p>  jp2.setVisible(true);</p><p>

73、  fm2.add(jp2);</p><p>  fm2.setSize(500,320);</p><p>  getTable3();//重修成績表</p><p>  js3.setBounds(20,20,450,200);</p><p>  //jp3.setBorder(new TitledBorder("重修考試

74、成績登記表"));</p><p>  jp3.setLayout(null);</p><p>  jp3.add(js3);</p><p>  bt3.setBounds(410,240,50,20);</p><p>  jp3.add(bt3);</p><p>  jp3.setVisible(t

75、rue);</p><p>  fm3.add(jp3);</p><p>  fm3.setSize(500,320);</p><p>  //jp3.show(false);</p><p>  drawArea.setPreferredSize(new Dimension(200,250));//補(bǔ)考通知單</p>&

76、lt;p>  drawArea.setBackground(Color.WHITE);</p><p>  drawArea.setBounds(0,0,200,250);</p><p>  jp4.add(drawArea);</p><p>  jp4.setLayout(null);</p><p>  fm4.add(jp

77、4);</p><p>  jp4.setBackground(Color.WHITE);</p><p>  fm4.setSize(300,300);</p><p>  fm4.setVisible(false);</p><p>  drawArea2.setPreferredSize(new Dimension(200,250));

78、//補(bǔ)考成績單</p><p>  drawArea2.setBackground(Color.WHITE);</p><p>  drawArea2.setBounds(0,0,250,250);</p><p>  jp5.add(drawArea2);</p><p>  jp5.setLayout(null);</p>

79、;<p>  fm5.add(jp5);</p><p>  jp5.setBackground(Color.WHITE);</p><p>  fm5.setSize(300,300);</p><p>  fm5.setVisible(false);</p><p>  drawArea3.setPreferredSize(

80、new Dimension(200,250));//重修通知單</p><p>  drawArea3.setBackground(Color.WHITE);</p><p>  drawArea3.setBounds(0,0,200,250);</p><p>  jp6.add(drawArea3);</p><p>  jp6.s

81、etLayout(null);</p><p>  fm6.add(jp6);</p><p>  jp6.setBackground(Color.WHITE);</p><p>  fm6.setSize(300,300);</p><p>  fm6.setVisible(false);</p><p>  dra

82、wArea4.setPreferredSize(new Dimension(200,250));//重修成績單</p><p>  drawArea4.setBackground(Color.WHITE);</p><p>  drawArea4.setBounds(0,0,250,250);</p><p>  jp7.add(drawArea4);<

83、/p><p>  jp7.setLayout(null);</p><p>  fm7.add(jp7);</p><p>  jp7.setBackground(Color.WHITE);</p><p>  fm7.setSize(300,300);</p><p>  fm7.setVisible(false);&l

84、t;/p><p>  drawArea5.setPreferredSize(new Dimension(200,250));//優(yōu)秀學(xué)生名單</p><p>  drawArea5.setBackground(Color.WHITE);</p><p>  drawArea5.setBounds(0,0,250,250);</p><p>  

85、jp8.add(drawArea5);</p><p>  jp8.setLayout(null);</p><p>  fm8.add(jp8);</p><p>  jp8.setBackground(Color.WHITE);</p><p>  fm8.setSize(300,300);</p><p> 

86、 fm8.setVisible(false);</p><p>  drawArea6.setPreferredSize(new Dimension(200,250));//成績單</p><p>  drawArea6.setBackground(Color.WHITE);</p><p>  drawArea6.setBounds(0,0,250,400);&

87、lt;/p><p>  jp_score.add(drawArea6);</p><p>  jp_score.setLayout(null);</p><p>  fm_score.add(jp_score);</p><p>  jp_score.setBackground(Color.WHITE);</p><p&g

88、t;  fm_score.setSize(300,500);</p><p>  fm_score.setVisible(false);</p><p>  jd1.setTitle("保存成功");</p><p>  jd1.setSize(20,0);</p><p>  fm.setBounds(450,180,5

89、00,350);</p><p>  fm.setSize(500,350);</p><p>  fm.setVisible(true);</p><p><b>  }</b></p><p>  public void frame() throws Exception</p><p><

90、;b>  {</b></p><p>  initial();</p><p>  fm.addWindowListener(this);</p><p>  fm.setVisible(true);</p><p><b>  }</b></p><p>  public

91、void windowClosing(WindowEvent e) //退出</p><p><b>  {</b></p><p>  if((JFrame)e.getSource()==fm)//點(diǎn)擊fm的x按鈕觸發(fā)的事件</p><p>  System.exit(0);</p><p><b>

92、;  }</b></p><p>  class ItemListener implements ActionListener</p><p><b>  {</b></p><p><b>  @Override</b></p><p>  public void actionPerf

93、ormed(ActionEvent e) {</p><p>  // TODO Auto-generated method stub</p><p>  JMenuItem jmi=(JMenuItem)e.getSource();</p><p>  if(jmi==exam_rg)</p><p><b>  {</b&

94、gt;</p><p>  fm1.setVisible(true);</p><p><b>  }</b></p><p>  else if(jmi==makeup_rg)</p><p><b>  {</b></p><p><b>  try</b

95、></p><p><b>  {</b></p><p>  Class.forName(driver);</p><p>  Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.01:3306/grade_management","

96、;root","root");//設(shè)置賬號(hào)密碼</p><p>  Statement stmt=conn.createStatement();</p><p>  Statement stmt1=conn.createStatement();</p><p>  //以下為查詢要登記的補(bǔ)考成績單</p><p&g

97、t;  ResultSet rs=stmt.executeQuery("select student.s_no,student.s_name,score.c_name from student,score where student.s_no=score.s_no and final_score<60");</p><p>  //ResultSet rs1=stmt1.executeQ

98、uery("select makeup_score from score where final_score<60");</p><p>  ResultSet rs1=stmt1.executeQuery("select makeup_score from score where final_score<60");</p><p>  

99、int i=0,j=0;</p><p>  while(rs.next())//獲取內(nèi)容</p><p><b>  {</b></p><p>  if(rs.getString(1)!=null)</p><p><b>  {</b></p><p>  for(j

100、=0;j<3;j++)</p><p><b>  {</b></p><p>  obj2[i][j]=rs.getString(j+1);</p><p><b>  }</b></p><p><b>  i++;</b></p><p>&

101、lt;b>  }</b></p><p><b>  }</b></p><p><b>  i=0;</b></p><p>  while(rs1.next())</p><p><b>  {</b></p><p>  if(r

102、s1.getObject(1)!=null)</p><p><b>  {</b></p><p>  obj2[i][3]=rs1.getInt(1);//成績讀入</p><p><b>  }</b></p><p><b>  i++;</b></p>

103、<p><b>  }</b></p><p><b>  }</b></p><p>  catch(Exception e1)</p><p><b>  {</b></p><p>  e1.printStackTrace();</p><

104、p><b>  }</b></p><p>  fm2.setVisible(true);</p><p><b>  }</b></p><p>  else if(jmi==renovate_rg)</p><p><b>  {</b></p><

105、;p><b>  try</b></p><p><b>  {</b></p><p>  Class.forName(driver);</p><p>  Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.01:3306/gr

106、ade_management","root","root");//設(shè)置賬號(hào)密碼</p><p>  Statement stmt=conn.createStatement();</p><p>  Statement stmt1=conn.createStatement();</p><p>  //以下為查詢要登

107、記的重修成績單</p><p>  ResultSet rs=stmt.executeQuery("select student.s_no,student.s_name,score.c_name from student,score where student.s_no=score.s_no and makeup_score<60");</p><p>  Res

108、ultSet rs1=stmt1.executeQuery("select renovate_score from score where makeup_score<60");</p><p>  int i=0,j=0;</p><p>  while(rs.next())//獲取內(nèi)容</p><p><b>  {<

109、/b></p><p>  if(rs.getString(1)!=null)</p><p><b>  {</b></p><p>  for(j=0;j<3;j++)</p><p><b>  {</b></p><p>  obj3[i][j]=rs.g

110、etString(j+1);</p><p><b>  }</b></p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b> 

111、 i=0;</b></p><p>  while(rs1.next())</p><p><b>  {</b></p><p>  if(rs1.getObject(1)!=null)</p><p><b>  {</b></p><p>  obj3[i]

112、[3]=rs1.getInt(1);//成績讀入</p><p><b>  }</b></p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>

113、;  catch(Exception e1)</p><p><b>  {</b></p><p>  e1.printStackTrace();</p><p><b>  }</b></p><p>  fm3.setVisible(true);</p><p><

114、;b>  }</b></p><p>  else if(jmi==makeup_notice)</p><p><b>  {</b></p><p>  //fm4.setVisible(false);</p><p><b>  Style=1;</b></p>

115、<p>  drawArea.repaint();</p><p>  fm4.setVisible(true);</p><p><b>  }</b></p><p>  else if(jmi==makeup_score)</p><p><b>  {</b></p>

116、;<p>  //fm4.setVisible(false);</p><p>  //Style=2;</p><p>  drawArea2.repaint();</p><p>  fm5.setVisible(true);</p><p><b>  }</b></p><p&g

117、t;  else if(jmi==renovate_notice)</p><p><b>  {</b></p><p>  drawArea3.repaint();</p><p>  fm6.setVisible(true);</p><p><b>  }</b></p>&l

118、t;p>  else if(jmi==final_score)</p><p><b>  {</b></p><p>  drawArea6.repaint();</p><p>  fm_score.setVisible(true);</p><p><b>  }</b></p&

119、gt;<p>  else if(jmi==renovate_score)</p><p><b>  {</b></p><p>  drawArea4.repaint();</p><p>  fm7.setVisible(true);</p><p><b>  }</b><

120、;/p><p>  else if(jmi==excellent_student)</p><p><b>  {</b></p><p>  drawArea5.repaint();</p><p>  fm8.setVisible(true);</p><p><b>  }</b

121、></p><p>  else if(jmi==exit_system)</p><p><b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  }</b>&

122、lt;/p><p><b>  }</b></p><p>  class JMenuListener implements ActionListener</p><p><b>  {</b></p><p><b>  @Override</b></p><

123、p>  public void actionPerformed(ActionEvent e) {</p><p>  // TODO Auto-generated method stub</p><p>  JMenu jm=(JMenu)e.getSource();</p><p>  if(jm==exit)</p><p><

124、;b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  class Bu

125、ttonListener implements ActionListener</p><p><b>  {</b></p><p><b>  @Override</b></p><p>  public void actionPerformed(ActionEvent e) </p><p>&

126、lt;b>  {</b></p><p>  // TODO Auto-generated method stub</p><p>  Button btn=(Button)e.getSource();</p><p>  if(btn==bt1) </p><p><b>  {</b></p

127、><p>  jt1.setModel(jt1.getModel());</p><p><b>  try</b></p><p><b>  {</b></p><p>  Class.forName(driver);</p><p>  Connection conn=Dr

128、iverManager.getConnection("jdbc:mysql://127.0.01:3306/grade_management","root","root");//設(shè)置賬號(hào)密碼</p><p>  Statement stmt=conn.createStatement();</p><p>  for(int i=

129、0;i<16;i++)</p><p><b>  {</b></p><p>  //將成績單寫會(huì)數(shù)據(jù)庫</p><p>  if(obj[i][3]!=null&&obj[i][4]!=null)</p><p>  stmt.executeUpdate("Update score s

130、et ord_score="+obj[i][3]+", exam_score="+obj[i][4]+</p><p>  " where s_no='"+obj[i][0]+"' and c_name='"+obj[i][2]+"'");</p><p>  else

131、 if(obj[i][3]!=null&&obj[i][4]==null)</p><p>  /*stmt.executeUpdate("Update score set ord_score="+obj[i][3]+", exam_score="+null+</p><p>  " where s_no='&quo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論