




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、【精品文檔】如有侵權(quán),請聯(lián)系網(wǎng)站刪除,僅供學(xué)習(xí)與交流java學(xué)生信息管理系統(tǒng)+代碼.精品文檔.數(shù)據(jù)庫課程設(shè)計(jì)姓名:于晴學(xué)號:121842237班級:1班指導(dǎo)教師:陳學(xué)進(jìn) 14年12月30學(xué)生信息管理系統(tǒng)1、 內(nèi)容簡介學(xué)生信息管理系統(tǒng)是學(xué)校管理的重要工具,是學(xué)校不可或缺的部分。 隨著在校大學(xué)生人數(shù)的不斷增加,教務(wù)系統(tǒng)的數(shù)量也不斷的上漲,。學(xué)校工作繁雜、資料眾多,人工管理信息的難度也越來越大,顯然是不能滿足實(shí)際的需要,效率也是很低的。并且這種傳統(tǒng)的方式存在著很多的弊端,如:保密性差、查詢不便、效率低,很難維護(hù)和更新等。然而,本系統(tǒng)針對以上缺點(diǎn)能夠極大地提高學(xué)生信息管理的效率,也是科學(xué)化、正規(guī)化的管
2、理,與世界接軌的重要條件。所以如何自動高效地管理信息是這些年來許多人所研究的。本系統(tǒng)提供了學(xué)生信息管理中常見的基本功能,主要包括管理員和學(xué)生兩大模塊。管理員的主要功能有對學(xué)生信息和課程信息進(jìn)行增加、刪除、修改、查找等操作,對選課信息進(jìn)行管理,對成績信息和用戶信息進(jìn)行修改、查找等操作。學(xué)生的主要功能有對學(xué)生信息和成績信息進(jìn)行查看,對個人的密碼信息進(jìn)行修改等。一. 需求分析本系統(tǒng)需要實(shí)現(xiàn)的功能:(1)、管理員對學(xué)生信息和課程信息進(jìn)行增加、刪除、修改、查找等操作,對選課信息進(jìn)行管理,對成績信息和用戶信息進(jìn)行修改、查找等操作。(2)、學(xué)生對學(xué)生信息和成績信息進(jìn)行查看,對個人的密碼信息進(jìn)行修改等。2 總
3、體設(shè)計(jì)學(xué)生信息管理系統(tǒng)主要包括管理員和學(xué)生兩大模塊。管理員模塊包括:學(xué)生信息管理、課程信息管理、選課信息管理、成績信息管理、用戶信息管理等。用戶模塊包括:學(xué)生信息查看、成績信息查看、個人信息管理等。系統(tǒng)總體結(jié)構(gòu)如圖所示??傮w結(jié)構(gòu)圖3 模塊詳細(xì)設(shè)計(jì)1、學(xué)生信息管理模塊學(xué)生信息管理模塊包括增加、刪除、修改、查詢、顯示全部等。具體的結(jié)構(gòu)圖如圖所示。學(xué)生信息管理模塊結(jié)構(gòu)圖2、選課信息管理模塊選課信息管理模塊包括查詢、顯示全部等。具體的結(jié)構(gòu)圖如圖所示。選課信息管理模塊結(jié)構(gòu)圖3、成績信息管理模塊成績信息管理模塊包括修改成績、查詢、顯示全部等。具體的結(jié)構(gòu)圖如圖所示。成績信息管理模塊結(jié)構(gòu)圖4、用戶信息管理模塊
4、用戶信息管理模塊包括修改、查詢、顯示全部等。具體的結(jié)構(gòu)圖如圖所示。用戶信息管理模塊結(jié)構(gòu)圖2、 數(shù)據(jù)庫設(shè)計(jì)在數(shù)據(jù)庫student中共有4張數(shù)據(jù)表:s(學(xué)生信息表)、c(課程信息表)、sc(選課信息表)、unpw(用戶信息表),下面定義每張表的字段名稱和數(shù)據(jù)類型。s(學(xué)生信息表)字段名稱數(shù)據(jù)類型描述snochar (10)學(xué)號,關(guān)鍵字snchar (20)姓名saint年齡sschar (10)性別sdchar (10)院系c(課程信息表)字段名稱數(shù)據(jù)類型描述cnochar (10)課程號,關(guān)鍵字cnchar (30)課程名pcnochar (10)先行課程號sc(選課信息表)字段名稱數(shù)據(jù)類型描述
5、snochar (10)學(xué)號,關(guān)鍵字cnochar (10)課程號,關(guān)鍵字gint成績unpw(用戶信息表)字段名稱數(shù)據(jù)類型描述unchar (10)用戶名,關(guān)鍵字pwchar (10)密碼qxint角色3、 界面庫設(shè)計(jì)1、學(xué)生信息管理系統(tǒng)的登錄學(xué)生信息管理系統(tǒng)可由管理員和學(xué)生兩種身份的人使用。管理員和學(xué)生身份登錄所能操作的功能有很大的區(qū)別。系統(tǒng)初始化一個系統(tǒng)管理員,登錄名:admin 密碼:admin 學(xué)生登錄系統(tǒng)的登錄名為學(xué)號,密碼也為學(xué)號(如:10001),登錄后可以修改密碼。登錄界面管理員登錄系統(tǒng)后的界面2、實(shí)現(xiàn)管理員和學(xué)生操作功能的界面管理員的登錄系統(tǒng)后可以進(jìn)行學(xué)生信息管理、課程信息
6、管理、選課信息管理、成績信息管理、用戶信息管理等功能操作,其具體界面設(shè)計(jì)如下圖所示。學(xué)生信息管理功能的界面選課信息管理功能的界面成績信息管理功能的界面用戶信息管理功能的界面學(xué)生的登錄系統(tǒng)后可以進(jìn)行學(xué)生信息查看、成績信息查看、個人信息管理等功能操作,其具體界面設(shè)計(jì)如下圖所示。學(xué)生信息查看功能的界面成績信息查看功能的界面?zhèn)€人信息管理功能的界面4、 程序類的設(shè)計(jì) SimpleStudentManager 主函數(shù)類DLFrame 登陸界面類 ManagerFrane 管理員界面類 StudentFrame 學(xué)生界面類 SM 學(xué)生信息管理的類 SAdd 用于學(xué)生信息管理中增加或修改某條記錄的界面的類 S
7、Select 用于學(xué)生基本信息管理中查詢時(shí)輸入學(xué)號的界面的類 CM 課程信息管理的類 CAdd 用于課程信息管理中增加或修改某條記錄的界面的類CSelect 用于課程信息管理中查詢時(shí)輸入課程號的界面的類 SCM 選課信息管理的類 SCSelect 用于選課信息管理中查詢時(shí)輸入學(xué)號的界面的類 GM 成績信息管理的類 GAdd 用于成績信息管理中修改成績的界面的類 GSelect 用于成績信息管理中查詢時(shí)輸入學(xué)號的界面的類 PM 用戶信息管理的類 UAdd 用于用戶信息管理中修改密碼的界面的類 PSelect 用于用戶信息管理中查詢時(shí)輸入用戶名的界面的類 StudentS 用于學(xué)生信息查看時(shí)輸入學(xué)
8、號的界面的類 StudentSelect 用于成績信息查看時(shí)輸入學(xué)號的界面的類 PPM 個人信息管理的類 PPSelect 用于個人信息管理查詢時(shí)輸入用戶名的界面的類 程序類的具體代碼實(shí)現(xiàn)見工程文件夾中的代碼及注釋5、 系統(tǒng)的使用說明及環(huán)境配置學(xué)生信息管理系統(tǒng)提供了管理員和學(xué)生這兩個角色登錄系統(tǒng),管理員通過用戶名:admin 密碼:admin 登錄系統(tǒng)后可以進(jìn)行相應(yīng)的操作。學(xué)生通過以自己的學(xué)號(如10001)作為用戶名和密碼登錄系統(tǒng)后進(jìn)行相應(yīng)的學(xué)生權(quán)限范圍內(nèi)的操作。數(shù)據(jù)庫:SQL Server 2005連接數(shù)據(jù)庫的登錄名:sa 密碼:123代碼:import javax.swing.*;imp
9、ort java.awt.*;import java.awt.event.*;import java.sql.*;class CAdd extends JFrame implements ActionListener/ 用于課程信息管理中增加或修改某條記錄的界面JLabel lcno = new JLabel(課程號:);JLabel lcname = new JLabel(課程名:);JLabel lpcno = new JLabel(先行課程號:);JTextField tcno = new JTextField(10);JTextField tcname = new JTextField
10、(10);JTextField tpcno = new JTextField(10);JButton btnOK = new JButton(確定);JButton btnCancel = new JButton(取消);JPanel p = new JPanel();Connection con = null;Statement stmt = null;ResultSet rs = null;boolean isNewsm = true;/ 用于判斷是否顯示課程信息管理的界面public CAdd() / 構(gòu)造方法this.setTitle(增加);this.setBounds(200, 2
11、00, 146, 235);p.setLayout(new FlowLayout(FlowLayout.LEFT);p.add(lcno);p.add(tcno);p.add(lcname);p.add(tcname);p.add(lpcno);p.add(tpcno);p.add(btnOK);p.add(btnCancel);this.add(p);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btnOK.addActionListener(this);btnCancel.addAc
12、tionListener(this);this.show();public void connDB() / 連接數(shù)據(jù)庫try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=student,sa, 123);stmt = con.createStatem
13、ent(); catch (SQLException e) e.printStackTrace();public void closeDB() / 關(guān)閉連接try stmt.close();con.close(); catch (SQLException e) e.printStackTrace();public void insertst() / 插入記錄String kch = null;String kcm = null; String xxkch=null;kch = tcno.getText();kcm = tcname.getText();xxkch=tpcno.getText()
14、;if (this.getTitle() = 修改) / 如果是修改記錄,先刪除再增加try this.connDB();int rs1 = stmt.executeUpdate(delete from c where cno=+ kch + ); catch (SQLException e) e.printStackTrace();String str = insert into c values( + kch + , + kcm + , + xxkch + );this.connDB();/ 連接數(shù)據(jù)庫try stmt.executeUpdate(str);JOptionPane.show
15、MessageDialog(null, this.getTitle() + 成功!,提示, JOptionPane.INFORMATION_MESSAGE, new ImageIcon(menu4.gif);this.setVisible(false); catch (SQLException e) JOptionPane.showMessageDialog(null, 課程號已存在!);tcno.setText();public void actionPerformed(ActionEvent e) if (e.getActionCommand() = 確定) this.insertst()
16、;if (isNewsm) new CM(課程信息管理).display();isNewsm = true;if (e.getActionCommand() = 取消) this.setVisible(false);new CM(課程信息管理).display();class CM extends JFrame implements ActionListener / 課程信息管理JPanel p = new JPanel();JButton btnAdd = new JButton(增加);JButton btnDelete = new JButton(刪除);JButton btnAlter
17、 = new JButton(修改);JButton btnSearch = new JButton(查詢);JButton btnDisplay = new JButton(顯示);JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;CSelect cst;String mkch = null;boolean
18、bstd = false;CM(String title) / 構(gòu)造方法super(title);add(South, p);this.add(Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();/ 連接數(shù)據(jù)庫this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter
19、.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();CM(CSelect cst, String title) / 構(gòu)造方法super(title);this.cst = cst;bstd = true;add(South, p);this.add(
20、Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addAction
21、Listener(this);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();public void display() / 顯示所有的課程信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try rs = stmt.executeQuery(select * from c);while (rs.next() / 找出表中的記錄數(shù)賦給ial.add(rs.getSt
22、ring(cno);al.add(rs.getString(cn);al.add(rs.getString(pcno);i+; catch (SQLException e) e.printStackTrace();playerInfo = new Objecti3;String columnNames = 課程號, 課程名, 先行課程號 ;try rs = stmt.executeQuery(select * from c order by cno);while (rs.next() playerInfoj0 = rs.getString(cno);playerInfoj1 = rs.getS
23、tring(cn);playerInfoj2 = rs.getString(pcno);j+; catch (SQLException e) e.printStackTrace();sTable = new JTable(playerInfo, columnNames);/ 創(chuàng)建網(wǎng)格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);public void connDB() / 連接數(shù)據(jù)庫try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);
24、catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=student,sa, 123);stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();public void closeDB() / 關(guān)閉連接try stmt.close();con.close(); catch (SQLExcept
25、ion e) e.printStackTrace();public void delete() / 刪除某個課程信息String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow();if (row = -1) / 判斷要刪除的信息是否被選中JOptionPane.showMessageDialog(null, 請選擇要刪除的記錄!); else if (!bstd) / 判斷選擇的是不是查詢后的結(jié)果int j1 = 0;try rs = stmt.executeQ
26、uery(select * from c);while (rs.next() & j1 = row) / 找出當(dāng)前被選中的記錄在數(shù)據(jù)庫中的對應(yīng)kch = rs.getString(cno);kcm = rs.getString(cn);xxkch = rs.getString(pcno);j1+; catch (SQLException e) e.printStackTrace();int i1 = 0;try int rs1 = stmt.executeUpdate(delete from c where cno=+ kch + );/ 刪除數(shù)據(jù)庫中當(dāng)前被選中的記錄JOptionPane.s
27、howMessageDialog(null, 記錄刪除成功!);this.dispose();new CM(課程信息管理).display(); catch (SQLException e) e.printStackTrace(); else try int rs1 = stmt.executeUpdate(delete from c where cno=+ mkch + );/ 刪除數(shù)據(jù)庫中當(dāng)前被選中的記錄JOptionPane.showMessageDialog(null, 記錄刪除成功!);this.dispose();new CM(課程信息管理).display(); catch (S
28、QLException e) e.printStackTrace();public void update() / 修改某個課程記錄String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow();if (row = -1) JOptionPane.showMessageDialog(null, 請選擇要修改的記錄!); else int j1 = 0;try if (!bstd) / 判斷選擇的是不是查詢后的結(jié)果rs = stmt.executeQuery(select * from c); else rs = stmt.execut
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java線程變量面試題及答案
- 電子產(chǎn)品測試面試題及答案
- 材料力學(xué)基本知識試題及答案
- 軟考網(wǎng)絡(luò)工程師歷史試題及答案回顧2025年
- 項(xiàng)目管理與業(yè)務(wù)戰(zhàn)略的結(jié)合試題及答案
- 機(jī)電工程項(xiàng)目實(shí)施過程管理試題及答案
- 軟考網(wǎng)絡(luò)工程師備考技巧與試題及答案
- 挖掘網(wǎng)絡(luò)工程師的潛在機(jī)會與試題及答案
- 網(wǎng)絡(luò)工程師考生經(jīng)驗(yàn)分享試題及答案
- 軟件設(shè)計(jì)師考試個人經(jīng)驗(yàn)分享及答案
- 2025年福建廈門市翔安市政集團(tuán)水務(wù)管理有限公司招聘筆試參考題庫附帶答案詳解
- 江蘇2024年江蘇海事職業(yè)技術(shù)學(xué)院招聘11人(第三批)筆試歷年參考題庫附帶答案詳解
- 各種奶茶配方資料
- 120與急診交接流程
- 2024-2030年中國高效節(jié)能無基礎(chǔ)空壓機(jī)商業(yè)計(jì)劃書
- 2023-2024學(xué)年廣東省深圳市龍崗區(qū)八年級(下)期末歷史試卷
- 《電氣與PLC控制技術(shù)》課件-三相異步電動機(jī)順序起動逆序停止PLC控制
- 【MOOC】健康傳播:基礎(chǔ)與應(yīng)用-暨南大學(xué) 中國大學(xué)慕課MOOC答案
- 璞泰來公司成本費(fèi)用核算制度優(yōu)化設(shè)計(jì)
- 麻醉科建設(shè)發(fā)展規(guī)劃
- 木工工程分包合同模版
評論
0/150
提交評論