學(xué)生成績(jī)管理系統(tǒng)-數(shù)據(jù)庫(kù)課程設(shè)計(jì).doc
《學(xué)生成績(jī)管理系統(tǒng)-數(shù)據(jù)庫(kù)課程設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生成績(jī)管理系統(tǒng)-數(shù)據(jù)庫(kù)課程設(shè)計(jì).doc(32頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、I 德州學(xué)院信息管理學(xué)院 課課程程設(shè)設(shè)計(jì)計(jì) 報(bào)報(bào)告告 實(shí)習(xí)名稱 數(shù)據(jù)庫(kù)課程設(shè)計(jì) 設(shè)計(jì)題目 基于Java+MySQL的學(xué)生成績(jī)管理 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 實(shí)習(xí)時(shí)間 2013.6. 17-2013.6.30 專業(yè)班級(jí) 2011 級(jí)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)專 指導(dǎo)老師 王麗麗 教學(xué)單位(蓋章) 小組分工情況: 學(xué)號(hào)姓名分工 201111007034徐晴代碼編寫 201111007017梁慶美代碼編寫 201111007014趙玉翠文檔編寫 201111007030郭文曉文檔編寫 201111007018張翠萍PPT 設(shè)計(jì) 201111007005鐵文嬌PPT 設(shè)計(jì) 二一三 年 六 月 三十 日 II 目 錄 摘要
2、.1 1 引言.1 1.1 問(wèn)題的提出 1 1.2 國(guó)內(nèi)外研究的現(xiàn)狀.1 1.3 目的與分析.1 2 程序的主要功能.2 2.1 添加功能.2 2.2 刪除功能.2 2.3 顯示功能.2 2.4 查找功能.2 2.5 修改功能.2 3 程序運(yùn)行平臺(tái).2 4 總體設(shè)計(jì).2 5 數(shù)據(jù)庫(kù)設(shè)計(jì).3 5.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì).3 5.2 表結(jié)構(gòu).4 5.3 視圖.5 6 模塊分析.5 6.1 添加模塊 5 6.2 顯示模塊 7 6.3 修改模塊 9 6.4 查找模塊 11 6.5 刪除模塊 13 6.6 登陸模塊 17 7 界面設(shè)計(jì).20 7.1 登陸界面.21 7.2 學(xué)生信息添加界面.21 7.3 學(xué)
3、生成績(jī)查詢界面.22 7.4 學(xué)生成績(jī)修改界面.23 8 系統(tǒng)測(cè)試.24 9 結(jié)論.29 10 參考文獻(xiàn)29 III 德州學(xué)院學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)德州學(xué)院學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘 要:學(xué)生成績(jī)管理系統(tǒng)主要用于各類大學(xué)院校在教學(xué)這一部分的管理,是針對(duì)于教務(wù)處對(duì) 課程、對(duì)學(xué)生、對(duì)學(xué)生成績(jī)進(jìn)行合理地安排以及統(tǒng)籌計(jì)劃,以便讓教務(wù)處以最短的工作時(shí)間內(nèi)把學(xué) 生的成績(jī)核算出來(lái),提高教務(wù)處的辦事效率。同時(shí),能夠隨時(shí)對(duì)學(xué)生基本信息、學(xué)生成績(jī)進(jìn)行各種 查詢,以便及時(shí)很好地對(duì)需要了解的信息得到相應(yīng)的反饋,能有效的幫助教務(wù)處的工作,可使學(xué)院 教職工減輕工作壓力,比較系統(tǒng)地對(duì)、教務(wù)教學(xué)上的各項(xiàng)服務(wù)和信息
4、進(jìn)行管理。 本系統(tǒng)是針對(duì)學(xué)生成績(jī)管理進(jìn)行設(shè)計(jì)的,主要用戶為學(xué)校教務(wù)管理老師,但學(xué)生也可參與對(duì)自 己信息的核對(duì)確認(rèn)。主要采用的開發(fā)工具是 JAVA 和 MYSQL。在開發(fā)過(guò)程中利用面向?qū)ο蟮某绦蛩?想和嚴(yán)格按照軟件工程的開發(fā)過(guò)程來(lái)進(jìn)行分析和設(shè)計(jì)。本系統(tǒng)所要完成以下幾個(gè)主要功能,其中有 學(xué)生成績(jī)管理、學(xué)生基本信息管理等等,實(shí)現(xiàn)對(duì)學(xué)生基本信息和成績(jī)進(jìn)行錄入、修改、刪除、查詢 等操作。 系統(tǒng)基本滿足了學(xué)生成績(jī)管理的功能需要,確實(shí)為學(xué)校對(duì)學(xué)生的管理提供了便利。本系統(tǒng)界面 友好、操作簡(jiǎn)單,對(duì)學(xué)生基本情況和成績(jī)加快了查詢速度、加強(qiáng)了管理,使各項(xiàng)管理更加規(guī)范化。 關(guān)鍵詞:關(guān)鍵詞:模塊化;數(shù)據(jù)庫(kù);數(shù)據(jù)庫(kù)管理系統(tǒng)
5、 1 1 引 言 1.1 問(wèn)題的提出 在我國(guó),各大中小學(xué)校的各類信息管理系統(tǒng)并非一個(gè)新的課題。大多數(shù)學(xué)校信息管 理系統(tǒng)不完善,甚至有的學(xué)校根本就沒(méi)有任何信息管理系統(tǒng),所有的管理工作幾乎都 是靠手工完成。特別是在西部貧困地區(qū),學(xué)校的信息管理都依然靠手工操作,這十分 落后,效率極低,成本很大,而且極易出錯(cuò)。隨著計(jì)算機(jī)技術(shù)不斷地日新月異地發(fā)展, 信息化是社會(huì)進(jìn)程的必然趨勢(shì),學(xué)校的信息管理只有快,精,準(zhǔn),才能發(fā)揮其作用。 從人工操作改為計(jì)算機(jī)的自動(dòng)化系統(tǒng),人工操作必將被計(jì)算機(jī)代替。 1.2 國(guó)內(nèi)外研究的現(xiàn)狀 信息技術(shù)的日益發(fā)展深入到社會(huì)的各個(gè)角落,學(xué)生宿舍管理也不例外,尤其作為 高等院校的宿舍管理工作
6、,是高校各項(xiàng)工作的一個(gè)重要組成部分,其管理水平的高低 將直接影響到人才培養(yǎng)的質(zhì)量。隨著高等教育的發(fā)展、高校規(guī)模的擴(kuò)大、學(xué)生人數(shù)增 加、學(xué)生宿舍各種信息的匯總、統(tǒng)計(jì)和分析等管理工作面臨著諸多困難,管理工作也 越來(lái)越繁重和瑣碎。因此宿舍管理的信息化、網(wǎng)絡(luò)化越來(lái)越受到人們的重視,它既可 以大大提高學(xué)生宿舍管理的績(jī)效,也可以為學(xué)生解決后顧之憂。同時(shí)隨著計(jì)算機(jī)技術(shù) 的普及和發(fā)展,管理的自動(dòng)化已成為必然趨勢(shì)。因此,為了提高高校的整體管理水平, 計(jì)算機(jī)在高等院校宿舍管理中的應(yīng)用日益普及,這使得學(xué)生宿舍管理自動(dòng)化的實(shí)現(xiàn)成 為高校管理環(huán)節(jié)中的重要一環(huán)。 1.3 目的與分析 本課題主要的目的是學(xué)生成績(jī)管理系統(tǒng),主
7、要任務(wù)為建立學(xué)生信息管理系統(tǒng),采 用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行管理,進(jìn)一步提高辦學(xué)效益和現(xiàn)代化水平。幫助廣大教師提 高工作效率,實(shí)現(xiàn)學(xué)生信息管理工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化。高校學(xué)生的成 績(jī)管理工作量大、繁雜,人工處理非常困難。學(xué)生成績(jī)管理系統(tǒng)借助于計(jì)算機(jī)強(qiáng)大的處 理能力,大大減輕了管理人員的工作量,并提高了處理的準(zhǔn)確性。學(xué)生成績(jī)管理系統(tǒng)的開 發(fā)運(yùn)用,實(shí)現(xiàn)了學(xué)生成績(jī)管理的自動(dòng)化,不僅把廣大教師從繁重的成績(jī)管理工作中解脫出 來(lái)、把學(xué)校從傳統(tǒng)的成績(jī)管理模式中解放出來(lái),而且對(duì)學(xué)生成績(jī)的判斷和整理更合理、 更公正,同時(shí)也給教師提供了一個(gè)準(zhǔn)確、清晰、輕松的成績(jī)管理環(huán)境。 2 2 程序的主要功能 2.1 添
8、加功能 添加一個(gè)學(xué)生的基本信息,包括 student_ID,student_Name, born_Date,math_Grade,English_Grade。 2.2 刪除功能 能夠?qū)σ粋€(gè)學(xué)生的信息進(jìn)行刪除按 student_ID 進(jìn)行刪除。 2.3 顯示功能 顯示所有學(xué)生的主要信息包括 student_ID,student_Name,born_Date,math_Grade,English_Grade。 2.4 查找功能 根據(jù)你鍵入的 student_ID,顯示其詳細(xì)信息! 2.5 修改功能 對(duì)學(xué)生的信息和成績(jī)進(jìn)行修改。 3 程序運(yùn)行平臺(tái) 編程工具:eclipse 編程語(yǔ)言: JAVA 數(shù)據(jù)
9、庫(kù):MYSQL 具體操作如下:具體操作如下:新建 SutGradeManage 項(xiàng)目,然后再編寫相應(yīng)的 java 文件,再編譯,鏈接,執(zhí)行等,用戶就可登錄進(jìn)該系統(tǒng)進(jìn)行相應(yīng)的操作。 3 4 總體設(shè)計(jì) 圖 4.1 系統(tǒng)總體框架圖 5 5 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)是要在一個(gè)給定的應(yīng)用環(huán)境(DBMS)中,通過(guò)合理的邏輯設(shè)計(jì)和有效的物 理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫(kù)模式、子模式,建立數(shù)據(jù)庫(kù)和設(shè)計(jì)應(yīng)用程序,滿足用戶的 各種信息需求。 5.1 數(shù)據(jù)庫(kù)概念設(shè)計(jì) 在數(shù)據(jù)庫(kù)設(shè)計(jì)中,先要對(duì)系統(tǒng)分析所得的數(shù)據(jù)字典中的數(shù)據(jù)存儲(chǔ)進(jìn)行分析,然后得出 系統(tǒng)的關(guān)系模式,可以采用實(shí)體聯(lián)系圖(簡(jiǎn)稱 ER 圖)的方法進(jìn)行數(shù)據(jù)結(jié)構(gòu)的
10、 描述。ER 圖由實(shí)體、屬性、聯(lián)系三部分組成。 登錄表 用戶名密碼 圖 登錄信息 E-R 圖 主 函 數(shù) 添 加 信 息 刪 除 信 息 登 陸 系 統(tǒng) 修 改 信 息 顯 示 信 息 查 找 信 息 4 學(xué)生 student_ Name born_Date English_ Grade math_Grade Student_ID 圖 學(xué)生信息 E-R 圖 5.2 表結(jié)構(gòu) 表 1 dbo.users 表 字段類型約束默認(rèn)值說(shuō)明 userName VARCHAR2(20 CHAR)PK 用戶名 userPwd VARCHAR2(20 CHAR)not null 密碼 表 2 dbo.studen
11、t 表 字段類型約束默認(rèn)值說(shuō)明 student_IDCHAR(10 BYTE)PK 學(xué)號(hào) student_NameVARCHAR2(20 CHAR)not null 姓名 born_DateCHAR(11 BYTE) 出生日期 math_GradeCHAR(4 CHAR)數(shù)學(xué)成績(jī) English_GradeCHAR(4 CHAR)英語(yǔ)成績(jī) 5.3 視圖 表 3 dbo.vi 視圖 字段類型是否可空insertableupdatabledeletable說(shuō)明 math_GradeCHAR(4 CHAR)YesYESYESYES數(shù)學(xué)成績(jī) English_GradeCHAR(4 CHAR)YesYE
12、SYESYES英語(yǔ)成績(jī) student_IDCHAR(10)NoYESYESYES學(xué)號(hào) student_NameVARCHAR2(80)NoYESYESYES姓名 born_DateCHAR(11BYTE)YesYesYesYes出生日期 5 6 模塊分析 6.1 添加模塊 學(xué)生信息添加部分代碼: class charu extends JFrame implements ActionListener JFrame frame = new JFrame(“添加數(shù)據(jù)添加數(shù)據(jù)“); JPanel imagePanel; ImageIcon bg; Button sure; TextField in
13、put1, input2, input3, input4, input5; TextArea show; Box box1, box2, box3, box4; int k, s1, j; Connection con; Statement sql; ResultSet rs; charu() Toolkit kit = Toolkit.getDefaultToolkit(); Image img = kit.getImage(“tubiao.jpg“); frame.setIconImage(img); input1 = new TextField(10); input2 = new Tex
14、tField(10); input3 = new TextField(10); input4 = new TextField(10); input5 = new TextField(10); box2 = Box.createVerticalBox(); box2.add(input1); box2.add(Box.createVerticalStrut(8); box2.add(input2); box2.add(Box.createVerticalStrut(8); box2.add(input3); box2.add(Box.createVerticalStrut(8); box2.ad
15、d(input4); box2.add(Box.createVerticalStrut(8); box2.add(input5); box1 = Box.createVerticalBox(); box1.add(new Label(“學(xué)號(hào):學(xué)號(hào):“); box1.add(Box.createVerticalStrut(8); box1.add(new Label(“姓名:姓名:“); box1.add(Box.createVerticalStrut(8); box1.add(new Label(“生日:生日:“); 6 box1.add(Box.createVerticalStrut(8);
16、 box1.add(new Label(“數(shù)學(xué):數(shù)學(xué):“); box1.add(Box.createVerticalStrut(8); box1.add(new Label(“英語(yǔ):英語(yǔ):“); box3 = Box.createHorizontalBox(); box3.add(box1); box3.add(Box.createHorizontalStrut(1); box3.add(box2); show = new TextArea(6, 43); sure = new Button(“確定確定“); box4 = Box.createHorizontalBox(); Label la
17、bel1 = new Label(“請(qǐng)輸入數(shù)據(jù)請(qǐng)輸入數(shù)據(jù)“); label1.setFont(new Font(“宋體宋體“, Font.BOLD, 20); label1.setForeground(Color.blue); box4.add(label1); box4.add(Box.createHorizontalStrut(1); box4.add(sure); sure.addActionListener(this); bg = new ImageIcon(“cru.jpg“); JLabel label = new JLabel(bg); label.setBounds(0, 0,
18、 bg.getIconWidth(), bg.getIconHeight(); imagePanel = (JPanel) frame.getContentPane(); imagePanel.setOpaque(false); imagePanel.setLayout(new FlowLayout(); show.setEditable(false); imagePanel.add(box4, BorderLayout.NORTH); imagePanel.add(box3, BorderLayout.CENTER); imagePanel.add(show, BorderLayout.SO
19、UTH); frame.getLayeredPane().setLayout(null); frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE); /frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(bg.getIconWidth(), bg.getIconHeight(); frame.setBounds(700, 200, 540, 440); frame.setResizable(false); frame.setVisible
20、(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(); ); 7 public void actionPerformed(ActionEvent ee) String s1, s2, s3, s4, s5, insert1, recode, name, date, number; int m1, m2, math, english; s1 = input1.getText(); s2 = input2.getText(); s3 =
21、 input3.getText(); s4 = input4.getText(); s5 = input5.getText(); number = s1; name = s2; date = s3; m1 = Integer.parseInt(s4); math = m1; m2 = Integer.parseInt(s5); english = m2; try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch (ClassNotFoundException eee) System.out.println(“ + eee); try co
22、n = DriverManager.getConnection(“jdbc:odbc:sun“, “gxy“, “123“); sql = con.createStatement(); recode = “(“ + “ + number + “ + “,“ + “ + name + “ + “,“ + “ + date + “ + “,“ + math + “,“ + english + “)“; insert1 = “INSERT INTO chengjibiao VALUES “ + recode; sql.executeUpdate(insert1); show.setText(“你插入
23、了你插入了:“); show.append(“學(xué)號(hào):學(xué)號(hào):“ + number + “ 姓名:姓名:“ + name + “ 出生:出生:“ + date + “ 數(shù)學(xué)數(shù)學(xué) “ + math + “ 英語(yǔ)英語(yǔ) “ + english); show.append(“n“); catch (SQLException e) System.out.println(e); JOptionPane.showMessageDialog(this, “你輸入的學(xué)號(hào)已存在,請(qǐng)核對(duì)重新你輸入的學(xué)號(hào)已存在,請(qǐng)核對(duì)重新 輸入!輸入!“); 8 6.2 顯示模塊 顯示模塊將輸出所有學(xué)生的主要信息; 主要代碼為:clas
24、s chuangkou extends JFrame implements ActionListener JFrame frame = new JFrame(“選擇窗口選擇窗口“); JPanel imagePanel; ImageIcon bg; Button button1, button2, button3, button4, button5, button6; Box box; Label label; Panel p1; chuangkou() Toolkit kit = Toolkit.getDefaultToolkit(); Image img = kit.getImage(“t
25、ubiao.jpg“); frame.setIconImage(img); p1 = new Panel(); label = new Label(“歡迎使用成績(jī)管理系統(tǒng)歡迎使用成績(jī)管理系統(tǒng)“, Label.CENTER); label.setFont(new Font(“隸書隸書“, Font.BOLD, 30); label.setBackground(Color.green); p1.add(label); button1 = new Button(“添加添加“); button2 = new Button(“刪除刪除“); button3 = new Button(“修改修改“); b
26、utton4 = new Button(“查詢查詢“); button5 = new Button(“返回返回“); button6 = new Button(“退出退出“); box = Box.createHorizontalBox(); box.add(button1); box.add(Box.createHorizontalStrut(8); box.add(button2); box.add(Box.createHorizontalStrut(8); box.add(button3); box.add(Box.createHorizontalStrut(8); box.add(bu
27、tton4); box.add(Box.createHorizontalStrut(8); box.add(button5); box.add(Box.createHorizontalStrut(8); box.add(button6); 9 button1.addActionListener(this); button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); button6.addAc
28、tionListener(this); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(); ); bg = new ImageIcon(“ckou.jpg“); JLabel label = new JLabel(bg); label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight(); imagePanel = (JPanel) frame.getContentPane(); imagePanel.setOpa
29、que(false); imagePanel.setLayout(new FlowLayout(); imagePanel.add(p1, BorderLayout.NORTH); imagePanel.add(box, BorderLayout.CENTER); frame.getLayeredPane().setLayout(null); frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/設(shè)置關(guān)閉后狀設(shè)
30、置關(guān)閉后狀 態(tài)態(tài) frame.setSize(bg.getIconWidth(), bg.getIconHeight(); frame.setBounds(200, 200, 500, 300); frame.setResizable(false);/設(shè)置窗口大小不可改變?cè)O(shè)置窗口大小不可改變 frame.setVisible(true); validate(); public void actionPerformed(ActionEvent e) if (e.getSource() = button6) System.exit(0); if (e.getSource() = button1)
31、new charu(); if (e.getSource() = button2) new shanchu(); if (e.getSource() = button3) 10 new xiugai(); if (e.getSource() = button4) new chaxun(); if (e.getSource() = button5) new denglu(); frame.dispose(); else 6.3 修改模塊 首先由用戶輸入要修改的學(xué)生的成績(jī) 主要代碼:class xiugai extends JFrame implements ActionListener JFra
32、me frame = new JFrame(“修改成績(jī)修改成績(jī)“); JPanel imagePanel; ImageIcon bg; Button xiug; TextField input1, input2, input3; TextArea show; Box box1, box2, box3; Panel p1, p2; int k, s1, j; Connection con; Statement sql; int sum = 0; ResultSet rs; xiugai() Toolkit kit = Toolkit.getDefaultToolkit(); Image img
33、= kit.getImage(“tubiao.jpg“); frame.setIconImage(img); p1 = new Panel(); p2 = new Panel(); xiug = new Button(“修改修改“); 11 input1 = new TextField(10); input2 = new TextField(10); input3 = new TextField(10); show = new TextArea(6, 43); Font f=new Font(“宋體宋體“,Font.BOLD,15); Label l1=new Label(“輸入學(xué)號(hào)輸入學(xué)號(hào)“
34、); l1.setFont(f); l1.setForeground(Color.blue); p1.add(l1); p1.add(new Label(“學(xué)號(hào)學(xué)號(hào):“); p1.add(input1); box1 = Box.createVerticalBox(); box1.add(Box.createVerticalStrut(8); box1.add(new Label(“數(shù)學(xué):數(shù)學(xué):“); box1.add(Box.createVerticalStrut(8); box1.add(new Label(“英語(yǔ):英語(yǔ):“); box2 = Box.createVerticalBox();
35、 box2.add(input2); box2.add(Box.createVerticalStrut(8); box2.add(input3); box3 = Box.createHorizontalBox(); box3.add(box1); box3.add(Box.createHorizontalStrut(1); box3.add(box2); Label l2=new Label(“輸入成績(jī)輸入成績(jī)“); l2.setFont(f); l2.setForeground(Color.blue); p2.add(l2); p2.add(box3); xiug.addActionList
36、ener(this); show.setEditable(false); bg = new ImageIcon(“cru.jpg“); JLabel label = new JLabel(bg); label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight(); imagePanel = (JPanel) frame.getContentPane(); imagePanel.setOpaque(false); imagePanel.setLayout(new FlowLayout(); imagePanel.add(p1); imageP
37、anel.add(p2); 12 imagePanel.add(xiug); imagePanel.add(show); frame.getLayeredPane().setLayout(null); frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE); /frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(bg.getIconWidth(), bg.getIconHeight(); frame.setBounds(720, 220,
38、 450, 390); frame.setResizable(false);/設(shè)置窗口大小不可改變?cè)O(shè)置窗口大小不可改變 frame.setVisible(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(); ); public void actionPerformed(ActionEvent ee) String s1, s2, s3, insert1, number; ; int m2, m3, math, english; s1
39、 = input1.getText(); number = s1; s2 = input2.getText(); s3 = input3.getText(); m2 = Integer.parseInt(s2); math = m2; m3 = Integer.parseInt(s3); english = m3; try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch (ClassNotFoundException eee) System.out.println(“ + eee); try con = DriverManager.ge
40、tConnection(“jdbc:odbc:sun“, “gxy“, “123“); sql = con.createStatement(); insert1 = “UPDATE chengjibiao SET math =“ + math + “,english=“ + english + “ WHERE number = “ + “ + number + “; sql.executeUpdate(insert1); 13 show.setText(“你將了你將了:“); show.append(“學(xué)號(hào)為學(xué)號(hào)為 “ + s1 + “ 的學(xué)生的學(xué)生 數(shù)學(xué)成績(jī)更改為:數(shù)學(xué)成績(jī)更改為:“ + m
41、ath + “ 英語(yǔ)成績(jī)更改為:英語(yǔ)成績(jī)更改為:“ + english); show.append(“n“); catch (SQLException e) System.out.println(e); 6.4 查找模塊 首先由用戶輸入要查找的學(xué)生學(xué)號(hào)等,然后查找數(shù)據(jù)庫(kù)中的該學(xué)生信息 主要代碼:class chaxun extends JFrame implements ActionListener JFrame frame = new JFrame(“查詢記錄查詢記錄“); JPanel imagePanel; ImageIcon bg; Button xunzhao; TextField
42、input; TextArea show; Box box; String s; Connection con; Statement sql; ResultSet rs; chaxun() Toolkit kit = Toolkit.getDefaultToolkit(); Image img = kit.getImage(“tubiao.jpg“); frame.setIconImage(img); xunzhao = new Button(“查找查找“); input = new TextField(10); show = new TextArea(6, 43); xunzhao.addA
43、ctionListener(this); show.setEditable(false); box = Box.createHorizontalBox(); Label l1=new Label(“輸入學(xué)號(hào)輸入學(xué)號(hào)“); 14 l1.setFont(new Font(“宋體宋體“,Font.BOLD,15); l1.setForeground(Color.blue); box.add(l1); box.add(Box.createHorizontalStrut(8); box.add(input); box.add(Box.createHorizontalStrut(8); box.add(x
44、unzhao); bg = new ImageIcon(“chaxun.jpg“); JLabel label = new JLabel(bg); label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight(); imagePanel = (JPanel) frame.getContentPane(); imagePanel.setOpaque(false); imagePanel.setLayout(new FlowLayout(); imagePanel.add(box, BorderLayout.NORTH); imagePanel
45、.add(show, BorderLayout.CENTER); frame.getLayeredPane().setLayout(null); frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE); /frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(bg.getIconWidth(), bg.getIconHeight(); frame.setBounds(730, 230, 520, 350); frame.setResizab
46、le(false);/設(shè)置窗口大小不可改變?cè)O(shè)置窗口大小不可改變 frame.setVisible(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(); ); public void actionPerformed(ActionEvent ee) boolean boo = true; s = input.getText(); try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); cat
47、ch (ClassNotFoundException eee) System.out.println(“ + eee); try con = DriverManager.getConnection(“jdbc:odbc:sun“, “gxy“, “123“); 15 sql = con.createStatement(); rs = sql.executeQuery(“SELECT * FROM chengjibiao “); while (rs.next() String number = rs.getString(“number“); String name = rs.getString(
48、“name“); String date = rs.getString(“date“); int math = rs.getInt(“math“); int english = rs.getInt(“english“); if (number.equals(s) boo = false; show.setText(null); show.append(“學(xué)號(hào):學(xué)號(hào):“ + number + “ 姓名:姓名:“ + name + “ 出生:出生: “ + date + “ 數(shù)學(xué)數(shù)學(xué) “ + math + “ 英語(yǔ)英語(yǔ) “ + english); show.append(“n“); con.clo
49、se(); if (boo) JOptionPane.showMessageDialog(this, “你輸入的學(xué)號(hào)不存在你輸入的學(xué)號(hào)不存在“); catch (SQLException eee) System.out.println(eee); 6.5 刪除模塊 用刪除學(xué)生信息 主要代碼:class shanchu extends JFrame implements ActionListener JFrame frame = new JFrame(“刪除記錄刪除記錄“); JPanel imagePanel; ImageIcon bg; Button xunzhao; TextField i
50、nput; TextArea show; String s; int k, s1, j; Connection con; Statement sql; int sum = 0; ResultSet rs; 16 shanchu() Toolkit kit = Toolkit.getDefaultToolkit(); Image img = kit.getImage(“tubiao.jpg“); frame.setIconImage(img); Panel p = new Panel(); xunzhao = new Button(“刪除刪除“); input = new TextField(1
51、5); show = new TextArea(6, 43); Label l1=new Label(“輸入要?jiǎng)h除學(xué)生的學(xué)號(hào)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào)“); l1.setFont(new Font(“宋體宋體“,Font.BOLD,15); l1.setForeground(Color.BLUE); p.add(l1); p.add(input); p.add(xunzhao); xunzhao.addActionListener(this); show.setEditable(false); bg = new ImageIcon(“sc.jpg“); JLabel label = new JLab
52、el(bg); label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight(); imagePanel = (JPanel) frame.getContentPane(); imagePanel.setOpaque(false); imagePanel.setLayout(new FlowLayout(); imagePanel.add(p, BorderLayout.NORTH); imagePanel.add(show, BorderLayout.CENTER); frame.getLayeredPane().setLayout(nu
53、ll); frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE); /frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(bg.getIconWidth(), bg.getIconHeight(); frame.setBounds(710, 210, 480, 310); frame.setVisible(true); frame.setResizable(false);/設(shè)置窗口大小不可改變?cè)O(shè)置窗口大小不可改變 validate();
54、addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(); ); public void actionPerformed(ActionEvent ee) 17 boolean boo = true; s = input.getText(); String m; try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch (ClassNotFoundException eee) System.out.println(“ +
55、eee); try con = DriverManager.getConnection(“jdbc:odbc:sun“, “gxy“, “123“); sql = con.createStatement(); rs = sql.executeQuery(“SELECT * FROM chengjibiao“); while (rs.next() String number = rs.getString(“number“); String name = rs.getString(“name“); String date = rs.getString(“date“); int math = rs.
56、getInt(“math“); int english = rs.getInt(“english“); if (number.equals(s) show.setText(“你刪除了你刪除了:“); show.append(“學(xué)號(hào):學(xué)號(hào):“ + number + “ 姓名:姓名:“ + name + “ 出生:出生: “ + date + “ 數(shù)學(xué)數(shù)學(xué) “ + math + “ 英語(yǔ)英語(yǔ) “ + english); show.append(“n“); m = “DELETE FROM chengjibiao WHERE number = “ + input.getText() + “; sql
57、.executeUpdate(m); con.close(); if (boo) JOptionPane.showMessageDialog(this, “你輸入的學(xué)號(hào)不存在你輸入的學(xué)號(hào)不存在“); catch (SQLException e) System.out.println(e); 6.6 登陸模塊 用于用戶登陸 18 主要代碼:class denglu extends JFrame implements ActionListener JFrame frame = new JFrame(“登陸界面登陸界面“); JPanel imagePanel; ImageIcon bg; Butt
58、on button1, button2; Label l1, l2, l3; TextField a1, a2; Box b1, b2, b3, b4, b5; denglu() Toolkit kit = Toolkit.getDefaultToolkit(); Image img = kit.getImage(“tubiao.jpg“); frame.setIconImage(img); button1 = new Button(“登陸登陸“); button2 = new Button(“退出退出“); Panel p1 = new Panel(); l1 = new Label(“學(xué)生
59、成績(jī)管理系統(tǒng)學(xué)生成績(jī)管理系統(tǒng)“, Label.CENTER); l1.setFont(new Font(“隸書隸書“, Font.BOLD, 40); l1.setBackground(Color.green); p1.add(l1); l2 = new Label(“登錄名登錄名“); l3 = new Label(“密碼密碼“); a1 = new TextField(10); a2 = new TextField(10); a2.setEchoChar(*); b1 = Box.createVerticalBox(); b1.add(l2); b1.add(Box.createVerti
60、calStrut(8); b1.add(l3); b2 = Box.createVerticalBox(); b2.add(a1); b2.add(Box.createVerticalStrut(8); b2.add(a2); b3 = Box.createHorizontalBox(); b3.add(b1); b3.add(Box.createHorizontalStrut(10); b3.add(b2); b4 = Box.createHorizontalBox(); 19 b4.add(button1); b4.add(Box.createHorizontalStrut(10); b4
61、.add(button2); b5 = Box.createVerticalBox(); b5.add(b3); b5.add(Box.createVerticalStrut(8); b5.add(b4); button1.addActionListener(this); button2.addActionListener(this); a1.setText(“admin“); a2.setText(“admin“); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose()
62、; ); bg = new ImageIcon(“dlu.jpg“); JLabel label = new JLabel(bg); label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight(); imagePanel = (JPanel) frame.getContentPane(); imagePanel.setOpaque(false); imagePanel.setLayout(new FlowLayout(); imagePanel.add(p1, BorderLayout.NORTH); imagePanel.add(b5,
63、 BorderLayout.CENTER); frame.getLayeredPane().setLayout(null); frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(bg.getIconWidth(), bg.getIconHeight(); frame.setBounds(200, 150, 510, 340); frame.setResizable(false);/
64、設(shè)置窗口大小不可改變?cè)O(shè)置窗口大小不可改變 frame.setVisible(true); validate(); public void actionPerformed(ActionEvent e) if (e.getSource() = button2) System.exit(0); if (e.getSource() = button1) if (a1.getText().equals(“admin“) 20 frame.dispose(); else JOptionPane.showMessageDialog(this, “賬戶密碼錯(cuò)誤,請(qǐng)重新輸入!賬戶密碼錯(cuò)誤,請(qǐng)重新輸入! “); 7 界面設(shè)計(jì) 7.1 登陸界面 圖 7.1 21 7.2 學(xué)生信息添加界面 圖 7.2 22 7.3 學(xué)生成績(jī)查詢界面 圖 7.3 7.4 學(xué)生成績(jī)修改界面 23 圖 7.4 7.5 學(xué)生成績(jī)刪除界面 24 8 系統(tǒng)測(cè)試 圖 8.1(學(xué)生成績(jī)添加圖) 25 圖 8.2(學(xué)生信息查詢圖) 圖 8.3(學(xué)生成績(jī)修改圖) 圖 8.4(學(xué)生成績(jī)刪除圖) 26 9 結(jié)論 這次試驗(yàn)我是用 java 編寫的一個(gè)圖形界面來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的應(yīng)用,主要是針對(duì)學(xué)生 成績(jī)管理進(jìn)行設(shè)計(jì)的。主要采用的開發(fā)工具是 JAVA 和 MYSQL。在開發(fā)過(guò)程中利用 面向?qū)ο蟮某绦蛩枷牒蛧?yán)格按照軟件工程的開發(fā)過(guò)程來(lái)進(jìn)行分
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《朱德的扁擔(dān)》名師課件(第二課時(shí))
- 《曹沖稱象》【優(yōu)秀課件推薦】
- 國(guó)際財(cái)務(wù)管理第8章課件
- 水文地質(zhì)學(xué)基礎(chǔ)課程實(shí)驗(yàn)
- 腦出血病人的護(hù)理
- 三年級(jí)下冊(cè)幾百幾十?dāng)?shù)和幾十幾除以一位數(shù)的口算人教版
- 快樂(lè)工作-創(chuàng)造雙贏的人際溝通課件
- 心肺腦復(fù)蘇最新進(jìn)展及新思路-課件
- 制藥用水課件
- 一汽大眾沖壓件認(rèn)可過(guò)程課件
- 一次成功就夠了(哈蘭·山德士)課件
- 一次函數(shù)與一元一次方程及不等式課件
- 感恩節(jié)母親的圖片ppt
- 地中海氣候溫帶季風(fēng)氣候課件
- 亞低溫治療的護(hù)理和展望