




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 / 27上海電力學(xué)院期末作業(yè):簡(jiǎn)單的學(xué)籍管理系統(tǒng)課 程:Web 應(yīng)用程序設(shè)計(jì)院系:電氣工程學(xué)院_專業(yè):電力系統(tǒng)及其自動(dòng)化_學(xué)生姓名: 張富杰 學(xué)號(hào):指導(dǎo)教師:_曹渝昆_2017 年 1 月 6 日2 / 27目錄一、設(shè)計(jì)思路.3.二具體實(shí)現(xiàn).3.三運(yùn)行調(diào)試與分析.3.四設(shè)計(jì)體會(huì)與小結(jié).8.五程序代碼 .8.3 / 27、設(shè)計(jì)思路隨著社會(huì)經(jīng)濟(jì)的發(fā)展, 入學(xué)的同學(xué)越來(lái)越多, 為方便對(duì)同學(xué)學(xué)籍信息的的管 理,設(shè)計(jì)學(xué)籍管理軟件來(lái)管理本班級(jí)同學(xué)的學(xué)籍信息。 該軟件應(yīng)支持添加、 刪除、 修改、查詢功能。查詢方式主要是支持學(xué)號(hào)查詢,例如:輸入“1”,則顯示該學(xué)生的信息。運(yùn)用流式、卡片、整體布局方式對(duì)系統(tǒng)
2、的主界面和各功能界面進(jìn)行設(shè)計(jì); 通過(guò) 連接數(shù)據(jù)庫(kù)的方式來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ);各功能實(shí)現(xiàn)時(shí)訪問(wèn)數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)信 息進(jìn)行讀取,運(yùn)用 Java 語(yǔ)句對(duì)其進(jìn)行輸出,學(xué)號(hào)查詢時(shí)顯示在文本框中;系統(tǒng) 提示功能用來(lái)提醒用戶的錯(cuò)誤操作和輸入時(shí)的錯(cuò)誤信息,提醒用戶進(jìn)行改正。二具體實(shí)現(xiàn)1 向班級(jí)里插入一個(gè)學(xué)生,但必須是插在已經(jīng)建立的班級(jí)里。2 輸入學(xué)生信息,建立一個(gè)班級(jí)。3 修改一個(gè)學(xué)生的所有資料。4 刪除某班的一個(gè)學(xué)生及其所有資料。5 刪除一個(gè)班級(jí)。6根據(jù)學(xué)生姓名查找某個(gè)學(xué)生信息。 每種功能通過(guò)一個(gè)類來(lái)實(shí)現(xiàn):類分分為主類、查詢類、修改類、添加類、增加 類。主類各功能界面的連接;精確查詢類(SearchStude
3、nt 實(shí)現(xiàn)根據(jù)學(xué)生姓名查找 某個(gè)學(xué)生信息;修改類(MdifyStude nt)實(shí)現(xiàn)修改一個(gè)學(xué)生的所有資料;添加類 (AddStudent)實(shí)現(xiàn)向班級(jí)里插入一個(gè)學(xué)生,但必須是插在已經(jīng)建立的班級(jí)里。;刪 除類(DeleteStudent)實(shí)現(xiàn)刪除某班的一個(gè)學(xué)生及其所有資料。;刪除類(DeleteClass) 實(shí)現(xiàn)刪除一個(gè)班級(jí); 建立類(BuiltClasS 實(shí)現(xiàn)輸入學(xué)生信息建立一個(gè)班級(jí)。三運(yùn)行調(diào)試與分析系統(tǒng)的詳細(xì)設(shè)計(jì)代碼請(qǐng)查閱附帶的代碼。以下僅對(duì)各個(gè)界面進(jìn)行截圖展示:4 / 27L-J學(xué)主苣溼系統(tǒng)學(xué)生信幕5 / 27圖 2:添加學(xué)生到指定的班級(jí)界面圖 3:刪除一個(gè)學(xué)生信息界面6 / 27修改學(xué)生信
4、尋陲改一學(xué)生信息圖 4:修改一個(gè)學(xué)生信息界面圖 5:查詢某個(gè)學(xué)生信息界面7 / 27圖 6 刪除一個(gè)班級(jí)界面圖 7:輸入一個(gè)學(xué)生建立一個(gè)班級(jí)界面運(yùn)行 JAVA 程序中的 StudentManager 文件,顯示系統(tǒng)的主界面,如圖 1 所示, 主界面有進(jìn)入其他子功能的按鈕,選擇相應(yīng)的按鈕便可進(jìn)入相應(yīng)的功能。添加學(xué) 生到指定班級(jí)功能如圖 2 所示,根據(jù)提示輸入要添加的信息,點(diǎn)擊確定,將彈出 提示框,確認(rèn)是否添加。輸入一個(gè)學(xué)生建立一個(gè)班級(jí)功能如圖 7 所示,根據(jù)提示 輸入要添加的信息,點(diǎn)擊確定,8 / 27將彈出提示框,確認(rèn)是否建立。刪除一個(gè)班級(jí)信 息功能如圖 6 所示,根據(jù)提示輸入班級(jí)號(hào), 點(diǎn)擊刪
5、除。刪除一個(gè)學(xué)生信息功能如 圖 3 所示,根據(jù)提示輸入學(xué)號(hào),點(diǎn)擊刪除。修改一個(gè)學(xué)生信息功能如圖 4 所示, 首先輸入要修改的人姓名, 點(diǎn)擊開(kāi)始修改, 在下面的文本框現(xiàn)實(shí)當(dāng)前數(shù)據(jù)庫(kù)內(nèi)所 存該人的信息,同時(shí)錄入修改鍵變化為可點(diǎn)擊,在文本框內(nèi)輸入要修改的學(xué)號(hào), 點(diǎn)擊錄入修改, 系統(tǒng)將新信息錄如數(shù)據(jù)庫(kù)。 點(diǎn)擊查詢某個(gè)學(xué)生信息按鈕, 將彈出 查詢對(duì)話框, 輸入姓名便可以精確查詢到此人的所有學(xué)籍信息。查詢?nèi)鐖D5 所示,將顯示數(shù)據(jù)庫(kù)中所存的所有號(hào)碼信息。四設(shè)計(jì)體會(huì)與小結(jié)期末大作業(yè)的課設(shè),自己通過(guò)查找資料、復(fù)習(xí)課本、編程調(diào)試,寫實(shí)驗(yàn)報(bào)告 等環(huán)節(jié),進(jìn)一步掌握了以前學(xué)到的知識(shí),并且還對(duì) GUI 組鍵的應(yīng)用有了更深
6、入的 認(rèn)識(shí)與掌握,另外還學(xué)到了一些新東西,比如JAVA 的 SWING AWT 包,以前是沒(méi)有接觸過(guò)的, 可是通過(guò)這次課程設(shè)計(jì)使得我們對(duì)這個(gè)包更了解。 通過(guò)與數(shù)據(jù)庫(kù) 的連接掌握了 Java 與數(shù)據(jù)庫(kù)的連接技術(shù)。通過(guò)實(shí)踐的學(xué)習(xí),我認(rèn)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí) java 語(yǔ)言,還是其它的語(yǔ)言, 以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐, 所以后在 學(xué)習(xí)過(guò)程中,我會(huì)更加注視實(shí)踐操作,使自己便好地學(xué)好計(jì)算機(jī)。五程序代碼package simplebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.
7、*;import java.sql.*;public class StudentManager extends JFrame implements ActionListener / 繼承JFrame 類JMenuBar jmb;/ 菜單欄JMenu Message;/ 菜單JMenuItem Item1,Item2,Item3,Item4,Item5,Item6;/ 菜單項(xiàng)public StudentManager(String s) / 構(gòu)造函數(shù) StudentManage / 添加按鍵jmb = new JMenuBar();Message = new JMenu(學(xué)生信息);9 / 27
8、Iteml = new JMenultemC 增加學(xué)生信息到指定班級(jí));/菜單名Item2 = new JMenultem(刪除一個(gè)學(xué)生學(xué)籍信息);Item3 = new JMenultem(修改一個(gè)學(xué)生信息);Item4 = new JMenultem(查詢某個(gè)學(xué)生信息);Item5 = new JMenultem(刪除一個(gè)班級(jí)信息);Item6 = new JMenultem(輸入一個(gè)學(xué)生建立一個(gè)班級(jí));Message.add(Item1);Message.add(Item2);Message.add(Item3);Message.add(Item4);Message.add(Item5)
9、;Message.add(Item6);jmb.add(Message);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);Item4.addActionListener(this);Item5.addActionListener(this);Item6.addActionListener(this);setTitle(s);/ 設(shè)置窗口標(biāo)題setBounds(500,300,500,500); /窗口的位置setVisible(true);/ 組件可見(jiàn)setJMe
10、nuBar(jmb);/ 菜單欄validate();/ 再次布置容器及其組件setDefaultCloseOperati on (JFrame.EXIT_ON_CLOSE 設(shè)/置隱藏,關(guān)閉,放 大窗口public void actionPerformed(ActionEvent e) /ActionEvent 包含一個(gè)事件,該 事件為執(zhí)行動(dòng)作事件 點(diǎn)擊按鈕等if (e.getSource() = Item1) /e.getSource() = Item2) 返回的當(dāng)前動(dòng)作所指向的對(duì)象,包含對(duì)象的所有信息。AddStudent ad = new AddStudent(); else if (e
11、.getSource() = Item2) / 通過(guò)獲取事件源, 獲取相應(yīng) 的對(duì)象DeleteStudent ds = new DeleteStudent();10 / 27 else if (e.getSource() = Item3) ModifyStudent ms = new ModifyStudent(); else if (e.getSource() = Item4) SearchStudent ss = new SearchStudent(); else if (e.getSource() = Item5) DeleteClass dc = new DeleteClass();
12、else if (e.getSource() = Item6) BuiltClass bc = new BuiltClass();public static void main(String args) StudentManager stu=new StudentManager(學(xué)生管理系統(tǒng));package simplebighomework; import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*;public class AddStude nt exte nds JFrame im
13、pleme nts Actio nListe ner 繼承 java 的窗 口體類JLabel JL = new JLabe 添加學(xué)生到指定班級(jí), JLabel.CENTER);JLabel JLNumber = new JLabe 學(xué)號(hào):);/ 顯示輸入學(xué)號(hào)JTextField JTNumber = new JTextField(); / 創(chuàng)建文本框JLabel JLName = new JLabe 姓名 :);JTextField JTName = new JTextField();JLabel JLClass = new JLabel級(jí):);ButtonGroup BG = new Bu
14、ttonGroup();JRadioButt on JRB1 = new JRadioButton 一 班);JRadioButt on JRB2 = new JRadioButton 二 班);JButton JBAdd = new JButto n 添加);JButton JBExit = new JButto n 退出);public AddStudent() this.setTitle(”添加學(xué)生到指定班級(jí)); this.setLayout(null);JL.setBounds(100, 30, 200, 40); this.add(JL);JLNumber.setBounds(140
15、, 80, 100, 20);x 軸和 y 軸,寬高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20); this.add(JTNumber);JLName.setBounds(140, 120, 60, 20); this.add(JLName);/ 創(chuàng)建按鈕11 / 27JTName.setBounds(180, 120, 80, 20); this.add(JTName);JLClass.setBounds(140, 160, 100, 20); this.add(JLClass);JRB1.setBounds(180, 160,
16、 60, 20);JRB2.setBounds(240, 160, 60, 20); this.add(JRB1);this.add(JRB2);BG.add(JRB1);BG.add(JRB2);JBAdd.setBounds(120, 220, 60, 20); this.add(JBAdd);JBAdd.addActionListener(this);JBExit.setBounds(200, 220, 60, 20);12 / 27this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500,
17、400);this.setVisible(true);public void actionPerformed(ActionEvent e) if (e.getSource() = JBAdd) String snumber = JTNumber.getText();String sname = JTName.getText();String sclass = 一 班;if (JRB1.isSelected() sclass = 一 班;elsesclass = 二 班;Connection con; / 聲明 Connection 對(duì)象String driver = com.mysql.jdb
18、c.Driver; / 驅(qū)動(dòng)程序名/ 遍歷查詢結(jié)果集try Class.forName(driver); / 加載驅(qū)動(dòng)程序con =DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false,root,zfj); /1.getConnection() 方 法,連接 MySQL 數(shù)據(jù)庫(kù)!Statement statement = con.createStatement(); /2. 創(chuàng)建statement 類
19、對(duì)象,用來(lái)執(zhí)行 SQL 語(yǔ)句! !String sql = select * from student where id=+snumber+; /要執(zhí)行的 SQL 語(yǔ)句ResultSet rs = statement.executeQuery(sql); /3.ResultSet 類,用來(lái)存放獲取的結(jié)果集! !if (rs.next()JOptionPane.showMessageDialog(null,該號(hào)已經(jīng)存在);/ 提示else sql = insert into student values( + snumber + ,+ sname+ , + sclass +);int i = s
20、tatement.executeUpdate(sql); / 執(zhí)行 SQL語(yǔ)句,/ 添加窗口的位置/ 監(jiān)聽(tīng)接口/ 點(diǎn)擊建立的時(shí)候生效/ 獲取文本框中的信息/ 單選按鈕13 / 27把返回值賦給 iif (i 0) JOptionPane.showMessageDialog(null, 建立成 功);/ 提示成功 elseJOptionPane.showMessageDialog(null, 添加失 敗); / 提示失敗 catch (Exception ee) / 捕獲異常if (e.getSource() = JBExit) / 退出按鈕監(jiān)視setVisible(false); public
21、 static void main(String args) new BuiltClass(); package simplebighomework;import javax.swing.*;import java.awt.*; import java.awt.event.*;import java.sql.*;public class BuiltClass extends JFrame implements ActionListener JLabel JL = new JLabe 輸入一個(gè)學(xué)生建立一個(gè)班級(jí), JLabel.CENTER); / 什么意思JLabel JLNumber = ne
22、w JLabe 學(xué)號(hào):”);/ 顯示輸入學(xué)號(hào)JTextField JTNumber = new JTextField(); /創(chuàng)建文本框JLabel JLName = new JLabe 姓名 :);JTextField JTName = new JTextField();JLabel JLClass = new JLabel級(jí):);JTextField JTClass = new JTextField();JButton JBAdd = new JButto n 建立);/ 創(chuàng)建按鈕JButton JBExit = new JButto n 退出);/ 什么意思public BuiltCla
23、ss() this.setTitle(輸入一個(gè)學(xué)生建立一個(gè)班級(jí)); this.setLayout(null);JL.setBounds(100, 30, 200, 40); this.add(JL);14 / 27JLNumber.setBounds(140, 80, 100, 20);x 軸和 y 軸,寬高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20); this.add(JTNumber);JLName.setBounds(140, 120, 60, 20);this.add(JLName);JTName.setBounds(1
24、80, 120, 80, 20); this.add(JTName);JLClass.setBounds(140, 160, 100, 20); this.add(JLClass);JTClass.setBounds(180, 160, 80, 20); this.add(JTClass);JBAdd.setBounds(120, 220, 60, 20); this.add(JBAdd);JBAdd.addActionListener(this);JBExit.setBounds(200, 220, 60, 20); this.add(JBExit);JBExit.addActionList
25、ener(this);15 / 27this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) if (e.getSource() = JBAdd) String snumber = JTNumber.getText();String sname = JTName.getText();String sclass = JTClass.getText();Connection con; / 聲明 Connection 對(duì)象String driver = com
26、.mysql.jdbc.Driver; / 驅(qū)動(dòng)程序名/ 遍歷查詢結(jié)果集try Class.forName(driver); / 加載驅(qū)動(dòng)程序con =DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false,root,zfj); /1.getConnection() 方 法,連接 MySQL 數(shù)據(jù)庫(kù)!Statement statement = con.createStatement(); /2. 創(chuàng)建s
27、tatement 類對(duì)象,用來(lái)執(zhí)行 SQL 語(yǔ)句!String sql = select * from student where id=+snumber+;ResultSet rs = statement.executeQuery(sql); 3.ResultSet類,用來(lái)存放獲取的結(jié)果集! !if (rs.next()JOptionPane.showMessageDialog(null,該號(hào)已經(jīng)存在);/ 提示else sql = insert into student values( + snumber + ,+ sname +, + sclass +);int i = statemen
28、t.executeUpdate(sql); / 執(zhí)行 SQL語(yǔ)句,把返回值賦給 iif (i 0)JOptionPane.showMessageDialog(null, 建立成 功); / 提/ 什么意思? 監(jiān)聽(tīng)接口/ 點(diǎn)擊建立的時(shí)候生效/ 獲取文本框中的信息16 / 27示成功elseJOptionPane.showMessageDialog(null, 添加失 敗); / 提示失敗catch (Exception ee) / 什么意思?if (e.getSource() = JBExit) / 什么意思?setVisible(false);public static void main(S
29、tring args) new BuiltClass();package simplebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class DeleteClass extends JFrame implements ActionListener JLabel JL = new JLabe 刪除一個(gè)班級(jí)信息,JLabel.CENTER);JLabel JLClass = new JLab 班級(jí):);/ 顯示班級(jí)窗口JTextField JT
30、Class = new JTextField()輸入班級(jí)的窗口17 / 27JButton JBDel = new JButto n 刪除);JButton JBExit = new JButto n 退出);public DeleteClass() this.setTitle(刪除一個(gè)班級(jí)信息);this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL);JLClass.setBounds(140, 80, 60, 20);this.add(JLClass);JTClass.setBounds(180, 80, 80, 2
31、0);this.add(JTClass);JBDel.setBounds(120, 120, 60, 20);this.add(JBDel);JBDel.addActionListener(this);JBExit.setBounds(200, 120, 60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e)if (e.getSource()
32、 = JBDel) String sclass = JTClass.getText();Connection con;/ 聲明 Connection 對(duì)象String driver = com.mysql.jdbc.Driver;/ 驅(qū)動(dòng)程序名/ 遍歷查詢結(jié)果集try Class.forName(driver); / 加載驅(qū)動(dòng)程序con =DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false,root
33、,zfj); /1.getConnection() 方 法,連接 MySQL 數(shù)據(jù)庫(kù)!Statement statement = con.createStatement(); /2. 創(chuàng)建/ 執(zhí)行操作/ 獲取文本中輸入的班級(jí)18 / 27statement 類對(duì)象,用來(lái)執(zhí)行 SQL 語(yǔ)句!String sql = select * from student whereclass=+sclass+;ResultSet rs = statement.executeQuery(sql); 3.ResultSet類,用來(lái)存放獲取的結(jié)果集! !if (rs.next() sql = delete fro
34、m student where class= + sclass + ;int n = statement.executeUpdate(sql);if (n 0)JOptionPane.showMessageDialog(null,刪除成功); elseJOptionPane.showMessageDialog(null,刪除失敗); else JOptionPane.showMessageDialog(null,不存在該班級(jí));catch (Exception er) if (e.getSource() = JBExit) setVisible(false);public static voi
35、d main(String args) new DeleteClass();package simplebighomework;import javax.swing.*;import java.awt.*; import java.awt.event.*;import java.sql.*;public class DeleteStudent extends JFrame implements ActionListener JLabel JL = new JLabe 刪除一個(gè)學(xué)生信息,JLabel.CENTER); JLabel JLNumber =new JLabe 學(xué)號(hào):);/ 顯示輸入“
36、學(xué)號(hào)” JTextField JTNumber = new JTextField(); /輸/ 入學(xué)號(hào)的文本框 JLabel JLClass = new JLabel級(jí):);/ 顯示輸入“班級(jí)”JTextField JTClass = new JTextField() ;輸/入班級(jí)的文本框 JLabel JLName = newJLabe 姓名 :);/ 顯示輸入“姓名”JTextField JTName = new JTextField(); /輸/ 入姓名的文本框 JButton JBDel = new19 / 27JButton 刪除);/ 刪除鍵 JButton JBExit = ne
37、w JButto n 退出);/ 退出鍵public DeleteStudent() this.setTitle(-刪除一個(gè)學(xué)生信息);this.setLayout(null);JL.setBounds(100, 30, 200, 40); this.add(JL);JLNumber.setBounds(140, 80, 100, 20);/x 軸和 y 軸,寬高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20);this.add(JTNumber);JLName.setBounds(140, 120, 80, 20); /x 軸和 y
38、 軸,寬高 this.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName);JLClass.setBounds(140, 160, 80, 20); /x 軸和 y 軸,寬高 this.add(JLClass);JTClass.setBounds(180, 160, 80, 20); this.add(JTClass);JBDel.setBounds(120, 200, 60, 20);this.add(JBDel);JBDel.addActionListener(this);JBExit.setBounds(200,
39、200, 60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400); this.setVisible(true);public void actionPerformed(ActionEvent e)if (e.getSource() = JBDel) String snumber = JTNumber.getText(); / 獲取輸入的學(xué)號(hào)Connection con; / 聲明 Connection 對(duì)象String driver = com.mysql.jdbc.D
40、river;/ 驅(qū)動(dòng)程序名/ 遍歷查詢結(jié)果集try 20 / 27Class.forName(driver); / 加載驅(qū)動(dòng)程序con =DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false,root,zfj);Statement statement = con.createStatement(); /2. 創(chuàng)建statement 類對(duì)象,用來(lái)執(zhí)行 SQL 語(yǔ)句!String sql = select
41、 * from student where id=+snumber+;ResultSet rs = statement.executeQuery(sql); 3.ResultSet類,用來(lái)存放獲取的結(jié)果集! !if (rs.next() sql = delete from student where id= + snumber + ;int n = statement.executeUpdate(sql);if (n 0)JOptionPane.showMessageDialog(null,刪除成功);/執(zhí)行了返回刪除成功elseJOptionPane.showMessageDialog(nu
42、ll,刪除失敗);else JOptionPane.showMessageDialog(null,不存在該學(xué)號(hào)學(xué)生);catch (Exception er) if (e.getSource() = JBExit) setVisible(false);public static void main (String args) new DeleteStudent();package simplebighomework;import javax.swing.*;import java.awt.*;21 / 27import java.awt.event.*;import java.sql.*;pu
43、blic class ModifyStudent extends JFrame implements ActionListener JLabel JL = new JLabel 修改一個(gè)學(xué)生信息,JLabel.CENTER);JLabel JLNumber = new JLabe 學(xué)號(hào):);/ 顯示學(xué)號(hào)JTextField JTNumber = new JTextField();/創(chuàng)建用于輸入學(xué)號(hào)的文本JLabel JLName = new JLabe 姓名 :);JTextField JTName = new JTextField();JLabel JLClass = new JLabel級(jí)
44、:);JTextField JTClass = new JTextField();JButton JBGet = new JButto n 修改);/ 修改按鈕JButton JBExit = new JButto n 退出);public ModifyStudent() this.setTitle(修改一個(gè)學(xué)生信息);this.setLayout(null); JL.setBounds(100, 30,200, 40); this.add(JL);JLNumber.setBounds(140, 80, 100, 20);/x 軸和 y 軸,寬高this.add(JLNumber);JTNum
45、ber.setBounds(180, 80, 80, 20);this.add(JTNumber);JLName.setBounds(140, 120, 60, 20);this.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName);JLClass.setBounds(140, 160, 100, 20);this.add(JLClass);JTClass.setBounds(180, 160, 80, 20);this.add(JTClass);22 / 27JBGet.setBounds(120, 220, 60,
46、20);this.add(JBGet);JBGet.addActionListener(this);JBExit.setBounds(200, 220, 60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) if (e.getSource() = JBGet) String snumber = JTNumber.getText(); / 讀
47、取文本中輸入的學(xué)號(hào)String sname = JTName.getText();String sclass = JTClass.getText();Connection con;/ 聲明 Connection 對(duì)象String driver = com.mysql.jdbc.Driver; / 驅(qū)動(dòng)程序名/ 遍歷查詢結(jié)果集try Class.forName(driver); / 加載驅(qū)動(dòng)程序con =DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=true&characterEnco
48、ding=utf-8&useSSL=false,root,zfj); /1.getConnection() 方 法,連接 MySQL 數(shù)據(jù)庫(kù)!Statement statement = con.createStatement(); /2. 創(chuàng)建statement 類對(duì)象,用來(lái)執(zhí)行 SQL 語(yǔ)句!String sql = select * from student where id=+snumber+;/ 根據(jù) id 對(duì)數(shù)據(jù)庫(kù)查詢ResultSet rs = statement.executeQuery(sql); 3.ResultSet類,用來(lái)存放獲取的結(jié)果集! !if (rs.nex
49、t()sql = UPDATE student SET name= +sname+ ,class=+sclass+23 / 27where id= + snumber + ;intn=statement.executeUpdate(sql);/ 什么意思?if (n 0)JOptionPane.showMessageDialog(null,修改成功);elseJOptionPane.showMessageDialog(null,修改失敗); else JOptionPane.showMessageDialog(null,不存在該學(xué)號(hào)學(xué)生);catch (Exception er) if (e.
50、getSource() = JBExit) setVisible(false); public static void main(String args) new ModifyStudent();package simplebighomework;24 / 27import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class SearchStudent extends JFrame implements ActionListener JLabel JL = new JLab
51、e 查詢某個(gè)學(xué)生信息,JLabel.CENTER);JLabel JLNumber = new JLabe 學(xué)號(hào):);JTextField JTNumber = new JTextField(); / 輸入學(xué)號(hào)的文本JLabel JLName = new JLabe 姓名 :);JTextField JTName = new JTextField();JLabel JLClass = new JLabel級(jí):);JTextField JTClass = new JTextField(); JButtonJBSet = new JButto n 查詢);JButton JBExit = new JButto n 退出);/ 退出按鈕public SearchStudent() /設(shè)置窗口的大小,位置this.setTitle(-查詢某個(gè)學(xué)生信息);this.setLayout(null);JL
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 烘焙食品企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 機(jī)器人激光加工生產(chǎn)線行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025年水資源專用機(jī)械合作協(xié)議書
- 借款合同的執(zhí)行要求
- 天津市2025年度新能源汽車充電樁施工合同
- 二零二五年度養(yǎng)羊產(chǎn)業(yè)綠色認(rèn)證合作協(xié)議
- 二零二五年度健康養(yǎng)生館加盟合作協(xié)議
- 二零二五年度商鋪?zhàn)赓U合同終止與租賃期滿退租交接協(xié)議
- 二零二五年度畜牧養(yǎng)殖場(chǎng)養(yǎng)殖人員用工合同
- 國(guó)際交流材料采購(gòu)合同
- 2025年皖北衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- 2024年廣州市公安局招聘交通輔警考試真題
- 隨機(jī)交易策略(TB版)
- 1.1 銳角三角函數(shù)(第1課時(shí)) 課件 2024-2025學(xué)年北師大版九年級(jí)數(shù)學(xué)下冊(cè)
- 2025年分手協(xié)議書規(guī)范承諾函
- 椎管打骨水泥后的護(hù)理
- 中國(guó)民航大學(xué)《普通物理專題》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025版年度城市綠化活動(dòng)策劃及實(shí)施服務(wù)合同范本
- 2025年誠(chéng)通證券招聘筆試參考題庫(kù)含答案解析
- 2025年全國(guó)高考體育單招政治時(shí)事填空練習(xí)50題(含答案)
- 人教版高一上學(xué)期數(shù)學(xué)(必修一)期末考試卷(附答案)
評(píng)論
0/150
提交評(píng)論