版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫成績管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---成績管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)—成績管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)-成績管理系統(tǒng)
- 數(shù)據(jù)庫學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告--學(xué)生成績管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告-- 學(xué)生成績管理系統(tǒng)
- 數(shù)據(jù)庫學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---學(xué)生成績管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---學(xué)生成績管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告----學(xué)生成績管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告--學(xué)生成績管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---學(xué)生成績管理
- 學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--學(xué)生選課成績管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)(學(xué)生成績管理系統(tǒng))
- 數(shù)據(jù)庫課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)-數(shù)據(jù)庫課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論