學(xué)生成績管理系統(tǒng)-數(shù)據(jù)庫課程設(shè)計(jì).doc

上傳人:good****022 文檔編號(hào):116796264 上傳時(shí)間:2022-07-06 格式:DOC 頁數(shù):32 大?。?60KB
收藏 版權(quán)申訴 舉報(bào) 下載
學(xué)生成績管理系統(tǒng)-數(shù)據(jù)庫課程設(shè)計(jì).doc_第1頁
第1頁 / 共32頁
學(xué)生成績管理系統(tǒng)-數(shù)據(jù)庫課程設(shè)計(jì).doc_第2頁
第2頁 / 共32頁
學(xué)生成績管理系統(tǒng)-數(shù)據(jù)庫課程設(shè)計(jì).doc_第3頁
第3頁 / 共32頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《學(xué)生成績管理系統(tǒng)-數(shù)據(jù)庫課程設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生成績管理系統(tǒng)-數(shù)據(jù)庫課程設(shè)計(jì).doc(32頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、I 德州學(xué)院信息管理學(xué)院 課課程程設(shè)設(shè)計(jì)計(jì) 報(bào)報(bào)告告 實(shí)習(xí)名稱 數(shù)據(jù)庫課程設(shè)計(jì) 設(shè)計(jì)題目 基于Java+MySQL的學(xué)生成績管理 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 實(shí)習(xí)時(shí)間 2013.6. 17-2013.6.30 專業(yè)班級 2011 級計(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 問題的提出 1 1.2 國內(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ù)庫設(shè)計(jì).3 5.1 數(shù)據(jù)庫概念設(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、生成績查詢界面.22 7.4 學(xué)生成績修改界面.23 8 系統(tǒng)測試.24 9 結(jié)論.29 10 參考文獻(xiàn)29 III 德州學(xué)院學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)德州學(xué)院學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘 要:學(xué)生成績管理系統(tǒng)主要用于各類大學(xué)院校在教學(xué)這一部分的管理,是針對于教務(wù)處對 課程、對學(xué)生、對學(xué)生成績進(jìn)行合理地安排以及統(tǒng)籌計(jì)劃,以便讓教務(wù)處以最短的工作時(shí)間內(nèi)把學(xué) 生的成績核算出來,提高教務(wù)處的辦事效率。同時(shí),能夠隨時(shí)對學(xué)生基本信息、學(xué)生成績進(jìn)行各種 查詢,以便及時(shí)很好地對需要了解的信息得到相應(yīng)的反饋,能有效的幫助教務(wù)處的工作,可使學(xué)院 教職工減輕工作壓力,比較系統(tǒng)地對、教務(wù)教學(xué)上的各項(xiàng)服務(wù)和信息

4、進(jìn)行管理。 本系統(tǒng)是針對學(xué)生成績管理進(jìn)行設(shè)計(jì)的,主要用戶為學(xué)校教務(wù)管理老師,但學(xué)生也可參與對自 己信息的核對確認(rèn)。主要采用的開發(fā)工具是 JAVA 和 MYSQL。在開發(fā)過程中利用面向?qū)ο蟮某绦蛩?想和嚴(yán)格按照軟件工程的開發(fā)過程來進(jìn)行分析和設(shè)計(jì)。本系統(tǒng)所要完成以下幾個(gè)主要功能,其中有 學(xué)生成績管理、學(xué)生基本信息管理等等,實(shí)現(xiàn)對學(xué)生基本信息和成績進(jìn)行錄入、修改、刪除、查詢 等操作。 系統(tǒng)基本滿足了學(xué)生成績管理的功能需要,確實(shí)為學(xué)校對學(xué)生的管理提供了便利。本系統(tǒng)界面 友好、操作簡單,對學(xué)生基本情況和成績加快了查詢速度、加強(qiáng)了管理,使各項(xiàng)管理更加規(guī)范化。 關(guān)鍵詞:關(guān)鍵詞:模塊化;數(shù)據(jù)庫;數(shù)據(jù)庫管理系統(tǒng)

5、 1 1 引 言 1.1 問題的提出 在我國,各大中小學(xué)校的各類信息管理系統(tǒng)并非一個(gè)新的課題。大多數(shù)學(xué)校信息管 理系統(tǒng)不完善,甚至有的學(xué)校根本就沒有任何信息管理系統(tǒng),所有的管理工作幾乎都 是靠手工完成。特別是在西部貧困地區(qū),學(xué)校的信息管理都依然靠手工操作,這十分 落后,效率極低,成本很大,而且極易出錯(cuò)。隨著計(jì)算機(jī)技術(shù)不斷地日新月異地發(fā)展, 信息化是社會(huì)進(jìn)程的必然趨勢,學(xué)校的信息管理只有快,精,準(zhǔn),才能發(fā)揮其作用。 從人工操作改為計(jì)算機(jī)的自動(dòng)化系統(tǒng),人工操作必將被計(jì)算機(jī)代替。 1.2 國內(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ì)和分析等管理工作面臨著諸多困難,管理工作也 越來越繁重和瑣碎。因此宿舍管理的信息化、網(wǎng)絡(luò)化越來越受到人們的重視,它既可 以大大提高學(xué)生宿舍管理的績效,也可以為學(xué)生解決后顧之憂。同時(shí)隨著計(jì)算機(jī)技術(shù) 的普及和發(fā)展,管理的自動(dòng)化已成為必然趨勢。因此,為了提高高校的整體管理水平, 計(jì)算機(jī)在高等院校宿舍管理中的應(yīng)用日益普及,這使得學(xué)生宿舍管理自動(dòng)化的實(shí)現(xiàn)成 為高校管理環(huán)節(jié)中的重要一環(huán)。 1.3 目的與分析 本課題主要的目的是學(xué)生成績管理系統(tǒng),主

7、要任務(wù)為建立學(xué)生信息管理系統(tǒng),采 用計(jì)算機(jī)對學(xué)生信息進(jìn)行管理,進(jìn)一步提高辦學(xué)效益和現(xiàn)代化水平。幫助廣大教師提 高工作效率,實(shí)現(xiàn)學(xué)生信息管理工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化。高校學(xué)生的成 績管理工作量大、繁雜,人工處理非常困難。學(xué)生成績管理系統(tǒng)借助于計(jì)算機(jī)強(qiáng)大的處 理能力,大大減輕了管理人員的工作量,并提高了處理的準(zhǔn)確性。學(xué)生成績管理系統(tǒng)的開 發(fā)運(yùn)用,實(shí)現(xiàn)了學(xué)生成績管理的自動(dòng)化,不僅把廣大教師從繁重的成績管理工作中解脫出 來、把學(xué)校從傳統(tǒng)的成績管理模式中解放出來,而且對學(xué)生成績的判斷和整理更合理、 更公正,同時(shí)也給教師提供了一個(gè)準(zhǔn)確、清晰、輕松的成績管理環(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 修改功能 對學(xué)生的信息和成績進(jìn)行修改。 3 程序運(yùn)行平臺(tái) 編程工具:eclipse 編程語言: JAVA 數(shù)據(jù)

9、庫: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ù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)是要在一個(gè)給定的應(yīng)用環(huán)境(DBMS)中,通過合理的邏輯設(shè)計(jì)和有效的物 理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫模式、子模式,建立數(shù)據(jù)庫和設(shè)計(jì)應(yīng)用程序,滿足用戶的 各種信息需求。 5.1 數(shù)據(jù)庫概念設(shè)計(jì) 在數(shù)據(jù)庫設(shè)計(jì)中,先要對系統(tǒng)分析所得的數(shù)據(jù)字典中的數(shù)據(jù)存儲(chǔ)進(jìn)行分析,然后得出 系統(tǒng)的關(guān)系模式,可以采用實(shí)體聯(liá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)值說明 userName VARCHAR2(20 CHAR)PK 用戶名 userPwd VARCHAR2(20 CHAR)not null 密碼 表 2 dbo.studen

11、t 表 字段類型約束默認(rèn)值說明 student_IDCHAR(10 BYTE)PK 學(xué)號(hào) student_NameVARCHAR2(20 CHAR)not null 姓名 born_DateCHAR(11 BYTE) 出生日期 math_GradeCHAR(4 CHAR)數(shù)學(xué)成績 English_GradeCHAR(4 CHAR)英語成績 5.3 視圖 表 3 dbo.vi 視圖 字段類型是否可空insertableupdatabledeletable說明 math_GradeCHAR(4 CHAR)YesYESYESYES數(shù)學(xué)成績 English_GradeCHAR(4 CHAR)YesYE

12、SYESYES英語成績 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(“英語:英語:“); 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(“請輸入數(shù)據(jù)請輸入數(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 + “ 英語英語 “ + english); show.append(“n“); catch (SQLException e) System.out.println(e); JOptionPane.showMessageDialog(this, “你輸入的學(xué)號(hào)已存在,請核對重新你輸入的學(xué)號(hào)已存在,請核對重新 輸入!輸入!“); 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(“歡迎使用成績管理系統(tǒng)歡迎使用成績管理系統(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è)置窗口大小不可改變設(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é)生的成績 主要代碼:class xiugai extends JFrame implements ActionListener JFra

32、me frame = new JFrame(“修改成績修改成績“); 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(“英語:英語:“); 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(“輸入成績輸入成績“); 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è)置窗口大小不可改變設(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é)成績更改為:數(shù)學(xué)成績更改為:“ + m

41、ath + “ 英語成績更改為:英語成績更改為:“ + english); show.append(“n“); catch (SQLException e) System.out.println(e); 6.4 查找模塊 首先由用戶輸入要查找的學(xué)生學(xué)號(hào)等,然后查找數(shù)據(jù)庫中的該學(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è)置窗口大小不可改變設(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 + “ 英語英語 “ + 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è)置窗口大小不可改變設(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 + “ 英語英語 “ + 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、成績管理系統(tǒng)學(xué)生成績管理系統(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è)置窗口大小不可改變設(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ò)誤,請重新輸入!賬戶密碼錯(cuò)誤,請重新輸入! “); 7 界面設(shè)計(jì) 7.1 登陸界面 圖 7.1 21 7.2 學(xué)生信息添加界面 圖 7.2 22 7.3 學(xué)生成績查詢界面 圖 7.3 7.4 學(xué)生成績修改界面 23 圖 7.4 7.5 學(xué)生成績刪除界面 24 8 系統(tǒng)測試 圖 8.1(學(xué)生成績添加圖) 25 圖 8.2(學(xué)生信息查詢圖) 圖 8.3(學(xué)生成績修改圖) 圖 8.4(學(xué)生成績刪除圖) 26 9 結(jié)論 這次試驗(yàn)我是用 java 編寫的一個(gè)圖形界面來實(shí)現(xiàn)數(shù)據(jù)庫的應(yīng)用,主要是針對學(xué)生 成績管理進(jìn)行設(shè)計(jì)的。主要采用的開發(fā)工具是 JAVA 和 MYSQL。在開發(fā)過程中利用 面向?qū)ο蟮某绦蛩枷牒蛧?yán)格按照軟件工程的開發(fā)過程來進(jìn)行分

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!