




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、揚(yáng)州大學(xué)數(shù)學(xué)科學(xué)學(xué)院java程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告 課 題:一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理信息系統(tǒng) 姓 名: 學(xué) 號(hào): 班 級(jí): 指導(dǎo)教師: 時(shí) 間: 12月20日 團(tuán)隊(duì)完成: 考核結(jié)果 1. 緒論(內(nèi)容:要求小四號(hào)字體) 此次課題是一個(gè)簡(jiǎn)單的學(xué)生管理系統(tǒng),該課題涉及數(shù)據(jù)庫(kù)、Java等領(lǐng)域。要求達(dá)到以下功能: 1. 能夠根據(jù)學(xué)生姓名 、學(xué)號(hào)、班級(jí)、課程名稱查詢具體內(nèi)容。 2. 能夠?qū)崿F(xiàn)按照單科成績(jī)、總成績(jī)、平均成績(jī)、學(xué)號(hào)排序。 3. 能夠?qū)崿F(xiàn)學(xué)生信息的插入、刪除和修改。 4. 能夠查詢每個(gè)課程的最高分、最低分及相應(yīng)學(xué)生姓名、班級(jí)和學(xué)號(hào)。 5. 能夠查詢每個(gè)班級(jí)某門課程的優(yōu)秀率(90分及以上)、不及格率,并進(jìn)
2、行排序。 6.能夠使用圖形界面進(jìn)行操作。 要實(shí)現(xiàn)這些功能需要熟練使用數(shù)據(jù)庫(kù)和Java編得程語(yǔ)言,并且能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)和Java的連接。2. 設(shè)計(jì)思路(內(nèi)容:要求小四號(hào)字體)1) 建立數(shù)據(jù)庫(kù)表格:將班級(jí)、姓名、學(xué)號(hào)、成績(jī)等具體信息錄入數(shù)據(jù)庫(kù)。學(xué)號(hào)姓名班級(jí)語(yǔ)文數(shù)學(xué)英語(yǔ) ·數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì) 成績(jī)查詢系統(tǒng)- ·系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)學(xué)生成績(jī)信息表字段名 屬性類型空值約束條件學(xué)號(hào)ID文本not null主鍵姓名name文本從鍵班級(jí)class文本從簡(jiǎn)語(yǔ)文Chinese長(zhǎng)整數(shù)英語(yǔ)English長(zhǎng)整數(shù)數(shù)學(xué)Maths長(zhǎng)整數(shù) ·數(shù)據(jù)庫(kù)截圖2) 利用Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接,使其可以調(diào)用數(shù)據(jù)庫(kù)表格
3、中的內(nèi)容。 具體截圖如下:3) Java程序編寫思路:主要編寫了5個(gè)類: 將添加數(shù)據(jù)、查詢數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)四個(gè)功能分別為四個(gè)類來(lái)實(shí)現(xiàn),此外還有一個(gè)主類用于實(shí)現(xiàn)面板。Insert類:功能組件 6個(gè)文本域、6個(gè)標(biāo)簽、1個(gè)按鈕功能實(shí)現(xiàn) 添加數(shù)據(jù)實(shí)現(xiàn)過程 對(duì)按鈕添加監(jiān)控,實(shí)現(xiàn)按鈕事件為獲取文本域中的信息,并執(zhí)行SQL的INSERT語(yǔ)句。Delete類:功能組件 1個(gè)單行文本、1個(gè)標(biāo)簽、1個(gè)按鈕、1個(gè)多行文本功能實(shí)現(xiàn) 刪除數(shù)據(jù)實(shí)現(xiàn)過程 與修改數(shù)據(jù)類似,對(duì)按鈕添加監(jiān)控,實(shí)現(xiàn)按鈕事件為獲取文本域中的學(xué)號(hào)信息,并執(zhí)行SQL的DELETE語(yǔ)句;不同的是以學(xué)號(hào)為主鍵進(jìn)行查找并將刪除信息輸出到文本框中。Mo
4、dify類:功能組件 6個(gè)單行文本、6個(gè)標(biāo)簽、1個(gè)按鈕功能實(shí)現(xiàn) 修改數(shù)據(jù)實(shí)現(xiàn)過程 與添加數(shù)據(jù)類似,對(duì)按鈕添加監(jiān)控,實(shí)現(xiàn)按鈕事件為獲取文本域中的信息,并執(zhí)行SQL的UPDATE語(yǔ)句;不同的是以學(xué)號(hào)為主鍵進(jìn)行查找并更新。Query 類:功能組件 5個(gè)按鈕、三個(gè)單行文本組件、1個(gè)下拉框、1個(gè)多行文本功能實(shí)現(xiàn) 按學(xué)號(hào)查詢、按姓名查詢、按班級(jí)查詢、按課程查詢、顯示全部實(shí)現(xiàn)過程 對(duì)按鈕添加監(jiān)控,共有五個(gè)監(jiān)控事件,前三個(gè)實(shí)現(xiàn)按鈕事件為先獲取文本域中的信息,根據(jù)對(duì)應(yīng)查詢的要求執(zhí)行相應(yīng)的SQL的SELLECT語(yǔ)句;按課程查詢通過在下來(lái)框中選擇對(duì)應(yīng)的選項(xiàng),即查詢相應(yīng)的課程;第五個(gè)查詢按鈕將全部信息在多行文本框中輸
5、出。MyFrame類:主類,實(shí)現(xiàn)面板,可在其上進(jìn)行對(duì)插入、刪除、修改、查詢等方法的調(diào)用,并且對(duì)界面進(jìn)行了設(shè)計(jì)和規(guī)劃。4) 界面設(shè)計(jì): 功能組件 4個(gè)按鈕、1個(gè)背景、1個(gè)標(biāo)簽文本、1個(gè)面板 功能實(shí)現(xiàn) 查詢數(shù)據(jù)、添加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù) 實(shí)現(xiàn)過程 對(duì)按鈕添加監(jiān)控,共有4個(gè)監(jiān)控事件,實(shí)現(xiàn)按鈕事件為創(chuàng)建對(duì)應(yīng) 得得得得得得得功能的類對(duì)象,出現(xiàn)相應(yīng)的功能窗口。截圖如下:3. 算法實(shí)現(xiàn)及分析(內(nèi)容:要求小四號(hào)字體)1.主界面2.添加數(shù)據(jù)3.修改數(shù)據(jù)4.刪除數(shù)據(jù)5. 查詢數(shù)據(jù)(1) 按學(xué)號(hào)查詢(2) 按姓名查詢(3) 按班級(jí)查詢(4) 按課程名稱查詢(5) 顯示所有信息4. 運(yùn)行調(diào)試與討論(內(nèi)容:要求小四
6、號(hào)字體)1. 運(yùn)行與調(diào)試過程中遇到的如下的問題(1) 數(shù)據(jù)庫(kù)的鏈接出現(xiàn)問題,導(dǎo)致表格找不到。 解決方法:重新建表(2) 編譯時(shí)系統(tǒng)沒有提示錯(cuò)誤,但是運(yùn)行的界面中某些接口不能實(shí)現(xiàn)。 解決方法:經(jīng)檢查發(fā)現(xiàn)是連接數(shù)據(jù)庫(kù)的密碼錯(cuò)誤,改正后可以運(yùn)行。2.此程序還存在下列不完善的地方(1)面板設(shè)計(jì)較為單調(diào),欠缺調(diào)色,還可以在面板上添加制作人等信息。(2)在添加信息時(shí),光標(biāo)可以依靠鍵盤上下移動(dòng),不需要鼠標(biāo)點(diǎn)擊,這樣可以更方便快捷。(3)修改數(shù)據(jù)的界面比例不是很協(xié)調(diào)(4)修改數(shù)據(jù)的源代碼不能實(shí)現(xiàn)選擇性的修改:例如根據(jù)學(xué)號(hào)修改姓名。(5)顯示信息不能做到數(shù)據(jù)的對(duì)齊,使得界面不美觀。(6)第一次查詢用的信息不能自
7、動(dòng)更新,導(dǎo)致后面的查詢給人一種凌亂感:例如先使用學(xué)號(hào)120702119查詢,再使用姓名“張三”查詢,此時(shí)上一個(gè)學(xué)號(hào)的信息還保留,并不能更新到“張三”的學(xué)號(hào)。(7)沒有退出的按鈕,尚未實(shí)現(xiàn)退出語(yǔ)句。5. 設(shè)計(jì)體會(huì)與小結(jié)(內(nèi)容:要求小四號(hào)字體)選擇“一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng)”作為這一次的課題,是因?yàn)檫@個(gè)課題主要運(yùn)用的是Java與數(shù)據(jù)庫(kù)的相關(guān)知識(shí),而這個(gè)學(xué)期,我們正好學(xué)習(xí)了這兩門課程,在這個(gè)課題中Java與數(shù)據(jù)庫(kù)知識(shí)的結(jié)合,是對(duì)這兩個(gè)課程理解學(xué)習(xí)成果的一個(gè)雙重考察。第一步,我們確定了課程的整體思路。首先在數(shù)據(jù)庫(kù)中建好相關(guān)表格,然后將數(shù)據(jù)庫(kù)連接到Java,最后運(yùn)用Java編程實(shí)現(xiàn)相關(guān)界面與系統(tǒng)功能。
8、思路確定后,在具體實(shí)現(xiàn)過程中,我們遇到了一些問題。首先我們對(duì)Java連接數(shù)據(jù)庫(kù)的相關(guān)知識(shí)不是特別清楚,其次應(yīng)用Java編程實(shí)現(xiàn)相關(guān)界面不是很熟練。為了解決這些問題,順利完成課題,我們查閱了相關(guān)的資料并且請(qǐng)教了上一屆的學(xué)長(zhǎng),了解了什么叫做架包,知道了怎么實(shí)現(xiàn)數(shù)據(jù)庫(kù)與myeclipse的連接,如何在myeclipse的環(huán)境中使用建表語(yǔ)句以及實(shí)現(xiàn)相關(guān)界面。有了這些知識(shí)作為基礎(chǔ),我們的課程設(shè)計(jì)便走上了正軌。首先,我們?cè)跀?shù)據(jù)庫(kù)中建立了包含學(xué)生學(xué)號(hào)、姓名、班級(jí),語(yǔ)文、數(shù)學(xué)、英語(yǔ)成績(jī)的數(shù)據(jù)的表格,然后Java中建立了架包,建立ConnectionUtil類,獲得與數(shù)據(jù)庫(kù)的連接,最后就是在myeclipse環(huán)
9、境下,運(yùn)用Java語(yǔ)句,將添加數(shù)據(jù)、查詢數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)四個(gè)功能分為四個(gè)類來(lái)實(shí)現(xiàn),另外用一個(gè)主類實(shí)現(xiàn)面板,可在其上進(jìn)行插入、刪除、修改、查詢等功能,并且對(duì)界面進(jìn)行了設(shè)計(jì)和規(guī)劃。在這個(gè)過程中,我們遇到了許多問題,如數(shù)據(jù)庫(kù)連接不上,程序編譯沒有錯(cuò)誤,但功能無(wú)法實(shí)現(xiàn)等,學(xué)長(zhǎng)都給了我們很大幫助,一次次修改嘗試,最終得到了現(xiàn)在的版本,雖然有許多不足與缺點(diǎn),但是課題順利完成仍是給了我們很大的滿足感,也讓我們體會(huì)到了程序員的辛苦。通過這次課題的研究,讓我充分認(rèn)識(shí)到了自己距離一個(gè)合格的程序員還很遠(yuǎn),認(rèn)識(shí)到自己相關(guān)知識(shí)的的儲(chǔ)備量還很少,對(duì)現(xiàn)在所學(xué)的Java及數(shù)據(jù)庫(kù)課程的掌握程度還不夠,但是在這個(gè)過程中我
10、也學(xué)習(xí)到了很多相關(guān)知識(shí),充分的認(rèn)識(shí)到要想學(xué)好編程語(yǔ)言,就必須勤動(dòng)手,要經(jīng)常練習(xí),才能熟練掌握每一種方法,光靠大腦的記憶是遠(yuǎn)遠(yuǎn)不夠的,只能是紙上談兵。在以后的課程學(xué)習(xí)中,我一定會(huì)更加重視實(shí)踐練習(xí),養(yǎng)成良好的編程習(xí)慣,這樣才能做一個(gè)合格的程序員。 剛看到這個(gè)課題的時(shí)候,就先大體確定了整體思路,這個(gè)課題要求熟悉數(shù)據(jù)庫(kù),Java編程。實(shí)現(xiàn)過程中我們需要先在數(shù)據(jù)庫(kù)中建立好表,再進(jìn)行好與Java的連接,再運(yùn)用myeclipse編程。 思路有了,但真正實(shí)施的時(shí)候出現(xiàn)了很多問題。通過相關(guān)資料的查詢和請(qǐng)教上一屆的學(xué)長(zhǎng),在Java中建立了架包,建立ConnectionUtil類,獲得與數(shù)據(jù)庫(kù)JSD1407的連接,
11、在編程語(yǔ)言環(huán)境下寫好建表語(yǔ)言,添加包含學(xué)生學(xué)號(hào)、姓名、班級(jí),語(yǔ)文、數(shù)學(xué)、英語(yǔ)成績(jī)的數(shù)據(jù)。與數(shù)據(jù)庫(kù)的連接出現(xiàn)了表丟失的現(xiàn)象、要實(shí)現(xiàn)這個(gè)學(xué)生成績(jī)管理系統(tǒng),需要一個(gè)主類,以及涉及插入,刪除,查詢,修改的子類,在主類中調(diào)用,達(dá)到效果。 由于對(duì)Java語(yǔ)句沒有很熟悉的掌握,導(dǎo)致很多代碼顯得累贅繁瑣。在界面上,建立了4個(gè)按鈕、1個(gè)背景、1個(gè)標(biāo)簽文本、1個(gè)面板, 參 考 文 獻(xiàn)(內(nèi)容:要求五號(hào)字體) 1.數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)教程(第三版) 機(jī)械工業(yè)出版社 2.Java程序設(shè)計(jì)(第三版) 清華大學(xué)出版社附錄(源代碼)(內(nèi)容:要求小五號(hào)字體)1、 架包package com.tarena.util;import ja
12、va.sql.Connection;import java.sql.DriverManager;public class ConnectionUtil public static Connection getConnection()throws Exception Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql:/localhost:3306/JSD1407" String user="root" String password="1234&quo
13、t; Connection conn=DriverManager.getConnection(url,user,password); return conn; public static void main(String args) throws Exception System.out.println(getConnection(); /s通過打印看一下是否連接上了/將獲得連接的方法封裝2、 建表語(yǔ)言create table student(no varchar(10) not null,name varchar(50) not null,class_no varchar(2) not nu
14、ll,chinese double(3,1) not null,math double(3,1) not null,english double(3,1) not null,primary key(no);desc student;insert into student(no,name,class_no,chinese,math,english) values(120702101,'陳麗芳',1,66,77,88);select * from student;3、 Java編程MainFrame類import javax.swing.*;import java.awt.*;im
15、port java.awt.event.*;public class MainFrame extends JFrameJButton insert,query,delete,modify;JPanel panel,panel1,panel2;public MainFrame()/ TODO Auto-generated method stubImageIcon img=new ImageIcon("1.gif");JLabel text1,text2,picture=new JLabel(img); JFrame frame=new JFrame("學(xué)生成績(jī)管理系
16、統(tǒng)"); insert=new JButton("添加數(shù)據(jù)"); insert.setBackground(Color.green); insert.addActionListener(new insertActionPerformed(); query=new JButton("查詢數(shù)據(jù)"); query.addActionListener(new queryActionPerformed(); query.setBackground(Color.green); modify=new JButton("修改數(shù)據(jù)"); mo
17、dify.setBackground(Color.green); modify.addActionListener(new modifyActionPerformed(); delete=new JButton("刪除數(shù)據(jù)"); delete.setBackground(Color.green); delete.addActionListener(new deleteActionPerformed(); frame.setSize(360,200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Containe
18、r contentPane=frame.getContentPane(); contentPane.setLayout(new BorderLayout(); text1=new JLabel("歡迎使用學(xué)生成績(jī)管理系統(tǒng)",JLabel.CENTER); text1.setFont(new Font("宋體",Font.BOLD,24); text1.setForeground(Color.blue); text2=new JLabel("-192091班 羅斌制作"); text2.setFont(new Font("Ti
19、mesRoman",Font.ROMAN_BASELINE,14); panel1=new JPanel(); panel1.add(insert); panel1.add(query); panel2=new JPanel(); panel2.add(modify); panel2.add(delete); panel1.setOpaque(false); panel2.setOpaque(false); panel=new JPanel(); panel.add(text2,BorderLayout.NORTH); panel.add(panel1,BorderLayout.NO
20、RTH); panel.add(panel2,BorderLayout.SOUTH); panel.setOpaque(false); contentPane.add(text1,BorderLayout.NORTH); contentPane.add(panel,BorderLayout.CENTER); frame.getLayeredPane().add(picture,new Integer(Integer.MIN_VALUE); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScree
21、nSize(); int screenWidth = screenSize.width/2; int screenHeight = screenSize.height/2; int height = this.getHeight(); int width = this.getWidth(); picture.setBounds(0,0,360,360); (JPanel)contentPane).setOpaque(false); frame.setLocation(screenWidth-width/2, screenHeight-height/2); frame.setVisible(tr
22、ue); public class insertActionPerformed implements ActionListener public void actionPerformed(ActionEvent e) new Insert().setVisible(true); public class modifyActionPerformed implements ActionListener public void actionPerformed(ActionEvent e) new Modify().setVisible(true); public class queryActionP
23、erformed implements ActionListener public void actionPerformed(ActionEvent e) new Query().setVisible(true); public class deleteActionPerformed implements ActionListener public void actionPerformed(ActionEvent e) new Delete().setVisible(true); public static void main(String args) new MainFrame(); Ins
24、ert類import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Insert extends JFrame JTextField input1,input2,input3,input4,input5,input6;JLabel label1,label2,label3,label4,label5;JButton button; static Statement st; static try Class.forName("com.mysql.jdbc.Dr
25、iver"); Connection con=DriverManager.getConnection("jdbc:mysql:/localhost:3306/jsd1407","root", "123456"); st=con.createStatement(); catch(Exception e) ResultSet rs;public Insert()input1=new JTextField(15);input2=new JTextField(15);input3=new JTextField(15);input4=
26、new JTextField(15);input5=new JTextField(15);input6=new JTextField(15);JPanel panel=new JPanel();panel.setLayout(new GridLayout(6,2);panel.add(new JLabel("學(xué)號(hào)"),BorderLayout.CENTER);panel.add(input1);panel.add(new JLabel("姓名"),BorderLayout.CENTER);panel.add(input2);panel.add(new J
27、Label("班級(jí)"),BorderLayout.CENTER);panel.add(input3);panel.add(new JLabel("語(yǔ)文"),BorderLayout.CENTER);panel.add(input4);panel.add(new JLabel("英語(yǔ)");panel.add(input5);panel.add(new JLabel("數(shù)學(xué)");panel.add(input6);button=new JButton("添加");button.addActionLi
28、stener(new mysql();Container container=getContentPane();container.add(panel,BorderLayout.CENTER);container.add(button,BorderLayout.SOUTH);setTitle("添加數(shù)據(jù)窗口");setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(250,250); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize =
29、 kit.getScreenSize(); int screenWidth = screenSize.width/2; int screenHeight = screenSize.height/2; int height = this.getHeight(); int width = this.getWidth(); setLocation(screenWidth-width/2, screenHeight-height/2);setVisible(true);class mysql implements ActionListenerpublic void actionPerformed(Ac
30、tionEvent e)tryString number=input1.getText().trim();String name=input2.getText().trim();String clas=input3.getText().trim();String temp=input4.getText();double chinese=Integer.parseInt(temp);temp=input4.getText();double english=Integer.parseInt(temp);temp=input4.getText();double maths=Integer.parse
31、Int(temp);if(number.equals("")|name.equals("")| clas.equals("")|temp.equals("")JOptionPane.showMessageDialog(Insert.this,"請(qǐng)重新輸入","提示對(duì)話框",1);elseString sql="insert into Student(no,name,class_no,chinese,english,math) values('"+n
32、umber+"','"+name+"','"+clas+"',"+chinese+","+english+","+maths+");" st.executeUpdate(sql); JOptionPane.showMessageDialog(Insert.this, "數(shù)據(jù)添加成功","提示對(duì)話框",1); input1.setText(""); input2.setText(
33、""); input3.setText(""); input4.setText(""); input5.setText(""); input6.setText("");catch(Exception ee)Modify類import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Modify extends JFrameJTextField input1,input2,
34、input3,input4,input5,input6;JLabel label1,label2,label3,label4,label5;JButton button; static Statement st; static try Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql:/localhost:3306/jsd1407","root", "123456"); st=
35、con.createStatement(); catch(Exception e) ResultSet rs;public Modify()input1=new JTextField(15);input2=new JTextField(15);input3=new JTextField(15);input4=new JTextField(15);input5=new JTextField(15);input6=new JTextField(15);JPanel panel=new JPanel();panel.setLayout(new GridLayout(6,2);panel.add(ne
36、w JLabel("學(xué)號(hào)");panel.add(input1);panel.add(new JLabel("姓名");panel.add(input2);panel.add(new JLabel("班級(jí)");panel.add(input3);panel.add(new JLabel("語(yǔ)文");panel.add(input4);panel.add(new JLabel("英語(yǔ)");panel.add(input5);panel.add(new JLabel("數(shù)學(xué)");
37、panel.add(input6);button=new JButton("修改");button.addActionListener(new mysql();Container container=getContentPane();container.add(panel,BorderLayout.CENTER);container.add(button,BorderLayout.SOUTH);setTitle("修改數(shù)據(jù)窗口");setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(300,
38、150); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int screenWidth = screenSize.width/2; int screenHeight = screenSize.height/2; int height = this.getHeight(); int width = this.getWidth(); setLocation(screenWidth-width/2, screenHeight-height/2);setVisible(tr
39、ue);class mysql implements ActionListenerpublic void actionPerformed(ActionEvent e)tryString number=input1.getText().trim();String name=input2.getText().trim();String clas=input3.getText().trim();String temp=input4.getText();double chinese=Integer.parseInt(temp);temp=input4.getText();double english=
40、Integer.parseInt(temp);temp=input4.getText();double maths=Integer.parseInt(temp);if(number.equals("")JOptionPane.showMessageDialog(Modify.this,"學(xué)號(hào)不能為空!","提示對(duì)話框",1);elsetryString sql="update Student set name='"+name+"',class_no='"+clas+&qu
41、ot;',chinese="+chinese+",english="+english+",math="+maths+" where no='"+number+"'" st.executeUpdate(sql); JOptionPane.showMessageDialog(Modify.this, "數(shù)據(jù)修改成功","提示對(duì)話框",1); input1.setText(""); input2.setText("&q
42、uot;); input3.setText(""); input4.setText(""); input5.setText(""); input6.setText("");catch(Exception ee)JOptionPane.showMessageDialog(Modify.this,"請(qǐng)確認(rèn)需要修改的學(xué)號(hào)是否存在","提示對(duì)話框",1); System.out.println(ee);catch(Exception eee) System.out.println(e
43、ee); Query類import java.awt.*;import javax.swing.event.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Query extends JFrameJTextArea show;JButton button1,button2,button3,button4,button5;JTextField field1,field2,field3;JComboBox comoBox;static Statement st; static try Cla
44、ss.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql:/localhost:3306/jsd1407","root", "123456"); st=con.createStatement(); catch(Exception e) public Query()show=new JTextArea(5,10);button1=new JButton("顯示所有信息");
45、button1.addActionListener(new Mysql1();Container container=getContentPane(); container.setLayout(new BorderLayout();JPanel panel=new JPanel();JPanel mainpanel=new JPanel();button2=new JButton("按學(xué)號(hào)查詢");button2.addActionListener(new Mysql2();panel.add(button2);field1=new JTextField(7);panel.
46、add(field1);panel.setVisible(true);mainpanel.add(panel);button3=new JButton("按姓名查詢");button3.addActionListener(new Mysql3();panel.add(button3);field2=new JTextField(6);panel.add(field2);panel.setVisible(true);mainpanel.add(panel);button4=new JButton("按班級(jí)查詢");button4.addActionList
47、ener(new Mysql4();panel.add(button4);field3=new JTextField(6);panel.add(field3);panel.setVisible(true);mainpanel.add(panel);String items="請(qǐng)選擇","語(yǔ)文","英語(yǔ)","數(shù)學(xué)"comoBox=new JComboBox(items);button5=new JButton("按課程名稱查詢");button5.addActionListener(new Mys
48、ql5();panel.add(button5);panel.add(comoBox);panel.setVisible(true);mainpanel.add(panel);panel=new JPanel();panel.add(button1);container.add(mainpanel,BorderLayout.NORTH);container.add(panel,BorderLayout.SOUTH);container.add(new JScrollPane(show),BorderLayout.CENTER);setTitle("查詢數(shù)據(jù)");setDef
49、aultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(750,400); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int screenWidth = screenSize.width/2; int screenHeight = screenSize.height/2; int height = this.getHeight(); int width = this.getWidth(); setLocation(s
50、creenWidth-width/2, screenHeight-height/2);setVisible(true);class Mysql1 implements ActionListenerpublic void actionPerformed(ActionEvent e)tryString sql="select * from Student"ResultSet rs=st.executeQuery(sql);show.setText("");show.append("學(xué)號(hào) 姓名 班級(jí) 語(yǔ)文 英語(yǔ) 數(shù)學(xué)"+"n&qu
51、ot;);while(rs.next()show.append(rs.getString(1)+" ");show.append(rs.getString(2)+" ");show.append(rs.getString(3)+" ");show.append(rs.getDouble(4)+" ");show.append(rs.getDouble(5)+" ");show.append(rs.getDouble(6)+"n");catch(Exception ee)class Mysql2 implements ActionListenerpublic void actionPerformed(ActionEvent e)tryString ss=field1.getText().trim();String sql="select * from Student where no='"+ss+"
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 漳浦招聘考試題庫(kù)及答案
- 香港 英語(yǔ)測(cè)試題及答案
- 2025年計(jì)算機(jī)網(wǎng)絡(luò)管理與安全考試題
- 軟件設(shè)計(jì)師考試中常見編程語(yǔ)言試題及答案
- 項(xiàng)目實(shí)施過程中的客戶關(guān)系管理方法試題及答案
- 新興技術(shù)對(duì)政策的挑戰(zhàn)試題及答案
- 深度周刊信息系統(tǒng)項(xiàng)目管理師試題及答案
- 西方國(guó)家的減貧與政治制度試題及答案
- 軟件設(shè)計(jì)師考試的新思維試題與答案
- 西方國(guó)家的選舉模式比較試題及答案
- 個(gè)人商業(yè)計(jì)劃書范文5篇
- 2025年反恐與公共安全管理職業(yè)資格考試試卷及答案
- 2025高考語(yǔ)文押題作文10篇
- 福建卷-2025屆高考化學(xué)全真模擬卷
- 2022隧道順光照明技術(shù)指南
- 2025年廣東省廣州市增城區(qū)中考一?;瘜W(xué)試題(含答案)
- 2025高考英語(yǔ)作文考前背誦(應(yīng)用文+讀后續(xù)寫)
- 河北開放大學(xué)2025年《西方行政制度》形成性考核3答案
- 人教版九年級(jí)語(yǔ)文中考真題匯編 《水滸傳》(2022-2024)全國(guó)中考語(yǔ)文真題
- 2025年鐵路列車員(初級(jí))職業(yè)技能鑒定參考試題庫(kù)(含答案)
- 浙江省杭州市2025屆高三下學(xué)期二模試題 數(shù)學(xué) 含答案
評(píng)論
0/150
提交評(píng)論