java學(xué)生信息管理系統(tǒng)+代碼_第1頁
java學(xué)生信息管理系統(tǒng)+代碼_第2頁
java學(xué)生信息管理系統(tǒng)+代碼_第3頁
java學(xué)生信息管理系統(tǒng)+代碼_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余22頁可下載查看

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、.數(shù)據(jù)庫課程設(shè)計(jì)姓名:于晴學(xué)號(hào):121842237班級(jí):1 班指導(dǎo)教師 :陳學(xué)進(jìn).專業(yè)專注.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)針對(duì)以上缺點(diǎn)能夠極大地提高學(xué)生信息管理的效率,也是科學(xué)化 、正規(guī)化的管理 ,與世界接軌的重要條件。所以如何自動(dòng)高效地管理信息是這些年來許多人

2、所研究的。本系統(tǒng)提供了學(xué)生信息管理中常見的基本功能,主要包括管理員和學(xué)生兩大模塊。管理員的主要功能有對(duì)學(xué)生信息和課程信息進(jìn)行增加、刪除 、修改 、查找等操作 ,對(duì)選課信息進(jìn)行管理 ,對(duì)成績信息和用戶信息進(jìn)行修改、查找等操作 。 學(xué)生的主要功能有對(duì)學(xué)生信息和成績信息進(jìn)行查看,對(duì)個(gè)人的密碼信息進(jìn)行修改等。一 . 需求分析.專業(yè)專注.本系統(tǒng)需要實(shí)現(xiàn)的功能:(1 )、 管理員對(duì)學(xué)生信息和課程信息進(jìn)行增加、刪除 、修改、查找等操作 ,對(duì)選課信息進(jìn)行管理 ,對(duì)成績信息和用戶信息進(jìn)行修改、查找等操作 。(2 )、 學(xué)生對(duì)學(xué)生信息和成績信息進(jìn)行查看,對(duì)個(gè)人的密碼信息進(jìn)行修改等。2總體設(shè)計(jì)學(xué)生信息管理系統(tǒng)主要包

3、括管理員和學(xué)生兩大模塊。管理員模塊包括:學(xué)生信息管理、課程信息管理、選課信息管理、成績信息管理、用戶信息管理等。用戶模塊包括:學(xué)生信息查看 、成績信息查看、個(gè)人信息管理等。系統(tǒng)總體結(jié)構(gòu)如圖所示??傮w結(jié)構(gòu)圖3 模塊詳細(xì)設(shè)計(jì)1、學(xué)生信息管理模塊學(xué)生信息管理模塊包括增加、刪除 、修改 、查詢 、顯示全部等 。 具體的結(jié)構(gòu)圖如圖所示。.專業(yè)專注.學(xué)生信息管理模塊結(jié)構(gòu)圖2、選課信息管理模塊選課信息管理模塊包括查詢、顯示全部等 。 具體的結(jié)構(gòu)圖如圖所示。選課信息管理模塊結(jié)構(gòu)圖3、成績信息管理模塊成績信息管理模塊包括修改成績、查詢、顯示全部等 。 具體的結(jié)構(gòu)圖如圖所示。成績信息管理模塊結(jié)構(gòu)圖.專業(yè)專注.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é)號(hào),關(guān)鍵字snchar (20)姓名saint年齡sschar (10)性別sdchar (10)院系c(課程信息表 )字段名稱數(shù)據(jù)類型描述cnochar (10)課程號(hào) ,關(guān)鍵字cnchar (30)課程名.專業(yè)專注.pcno

5、char (10)先行課程號(hào)sc(選課信息表 )字段名稱數(shù)據(jù)類型描述snochar (10)學(xué)號(hào),關(guān)鍵字cnochar (10)課程號(hào) ,關(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)初始化一個(gè)系統(tǒng)管理員,登錄名 : admin密碼: admin學(xué)生登錄系統(tǒng)的登錄名為學(xué)號(hào),密碼也為學(xué)號(hào)(如: 10001 ), 登錄后可以修改密碼。.專業(yè)專注.登錄界面管理員登

6、錄系統(tǒng)后的界面2、實(shí)現(xiàn)管理員和學(xué)生操作功能的界面管理員的登錄系統(tǒng)后可以進(jìn)行學(xué)生信息管理、課程信息管理、選課信息管理、成績信息管理 、用戶信息管理等功能操作,其具體界面設(shè)計(jì)如下圖所示。.專業(yè)專注.學(xué)生信息管理功能的界面選課信息管理功能的界面.專業(yè)專注.成績信息管理功能的界面用戶信息管理功能的界面學(xué)生的登錄系統(tǒng)后可以進(jìn)行學(xué)生信息查看、成績信息查看、個(gè)人信息管理等功能操作,其具體界面設(shè)計(jì)如下圖所示。.專業(yè)專注.學(xué)生信息查看功能的界面成績信息查看功能的界面?zhèn)€人信息管理功能的界面.專業(yè)專注.4、程序類的設(shè)計(jì)SimpleStudentManager主函數(shù)類DLFrame登陸界面類ManagerFrane管

7、理員界面類StudentFrame學(xué)生界面類SM學(xué)生信息管理的類SAdd用于學(xué)生信息管理中增加或修改某條記錄的界面的類SSelect用于學(xué)生基本信息管理中查詢時(shí)輸入學(xué)號(hào)的界面的類CM課程信息管理的類CAdd用于課程信息管理中增加或修改某條記錄的界面的類CSelect用于課程信息管理中查詢時(shí)輸入課程號(hào)的界面的類SCM選課信息管理的類SCSelect用于選課信息管理中查詢時(shí)輸入學(xué)號(hào)的界面的類GM成績信息管理的類GAdd用于成績信息管理中修改成績的界面的類GSelect用于成績信息管理中查詢時(shí)輸入學(xué)號(hào)的界面的類PM用戶信息管理的類UAdd用于用戶信息管理中修改密碼的界面的類PSelect用于用戶信息

8、管理中查詢時(shí)輸入用戶名的界面的類StudentS用于學(xué)生信息查看時(shí)輸入學(xué)號(hào)的界面的類StudentSelect用于成績信息查看時(shí)輸入學(xué)號(hào)的界面的類PPM個(gè)人信息管理的類.專業(yè)專注.PPSelect用于個(gè)人信息管理查詢時(shí)輸入用戶名的界面的類程序類的具體代碼實(shí)現(xiàn)見工程文件夾中的代碼及注釋5、系統(tǒng)的使用說明及環(huán)境配置學(xué)生信息管理系統(tǒng)提供了管理員和學(xué)生這兩個(gè)角色登錄系統(tǒng),管理員通過用戶名: admin密碼 : admin登錄系統(tǒng)后可以進(jìn)行相應(yīng)的操作。學(xué)生通過以自己的學(xué)號(hào)(如 10001 )作為用戶名和密碼登錄系統(tǒng)后進(jìn)行相應(yīng)的學(xué)生權(quán)限范圍內(nèi)的操作。數(shù)據(jù)庫 : SQL Server2005連接數(shù)據(jù)庫的登錄

9、名: sa密碼: 123代碼:class CAdd extends JFrame implements ActionListener/用于課程信息管理中增加或修改某條記錄的界面JLabel lcno = new JLabel(課程號(hào) : );JLabel lcname = new JLabel(課程名 : );JLabel lpcno = new JLabel(先行課程號(hào) : );JTextField tcno = new JTextField(10);JTextField tcname = new JTextField(10);.專業(yè)專注.JTextField tpcno = new JTe

10、xtField(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, 200, 146, 235);p.setLayout(new

11、 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);.專業(yè)專注.this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btnOK.addActionListener(this);btnCancel.addActionListener(this);this

12、.show();public void connDB() /連接數(shù)據(jù)庫try 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

13、.close();con.close(); catch (SQLException e) e.printStackTrace();.專業(yè)專注.public void insertst() /插入記錄String kch = null;String kcm = null;String xxkch=null;kch = tcno.getText();kcm = tcname.getText();xxkch=tpcno.getText();if (this.getTitle() = 修改 ) /如果是修改記錄,先刪除再增加try this.connDB();int rs1 = stmt.execut

14、eUpdate(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.showMessageDialog(null, this.getTitle() + 成功 ! ,提示,JOptionPane.INFORMATION_MESSAGE,newIm

15、ageIcon(.專業(yè)專注.menu4.gif);this.setVisible(false);catch (SQLException e) JOptionPane.showMessageDialog(null, 課程號(hào)已存在! );tcno.setText();public void actionPerformed(ActionEvent e) if (e.getActionCommand() = 確定 ) this.insertst();if (isNewsm) new CM( 課程信息管理 ).display();isNewsm = true;if (e.getActionCommand

16、() = 取消 ) this.setVisible(false);new CM( 課程信息管理).display();class CM extends JFrame implements ActionListener /課程信息管理JPanel p = new JPanel();JButton btnAdd = new JButton(增加 );JButton btnDelete = new JButton(刪除 );.專業(yè)專注.JButton btnAlter = new JButton(修改 );JButton btnSearch = new JButton(查詢 );JButton bt

17、nDisplay = 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 bstd = false;CM(String title) /構(gòu)造方法super(title);add(South, p);th

18、is.add(Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);.專業(yè)專注.mb.add(btnSearch);mb.add(btnDisplay);this.connDB();/連接數(shù)據(jù)庫this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);b

19、tnDisplay.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(Center, p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlte

20、r);.專業(yè)專注.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.addActionListener(this);this.setJMenuBar(mb);/ this.setDefault

21、CloseOperation(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.getString(cno);al.add(rs.getString(cn);.專業(yè)專注.al.add(rs.get

22、String(pcno);i+; catch (SQLException e) e.printStackTrace();playerInfo = new Objecti3;String columnNames = 課程號(hào) , 課程名 , 先行課程號(hào) ;try rs = stmt.executeQuery(select * from c order by cno);while (rs.next() playerInfoj0 = rs.getString(cno);playerInfoj1 = rs.getString(cn);playerInfoj2 = rs.getString(pcno);j

23、+; catch (SQLException e) e.printStackTrace();sTable = new JT able(playerInfo, columnNames);/創(chuàng)建網(wǎng)格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);public void connDB() /連接數(shù)據(jù)庫 catch (ClassNotFoundException e) e.printStackTrace();.專業(yè)專注.try con = DriverManager.getConnection(jdbc:sqlserve

24、r:/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 (SQLException e) e.printStackTrace();public void delete() /刪除某個(gè)課程信息String kch = null;String kcm = null;String xxkch

25、 = null;int row = -1;row = sTable.getSelectedRow();if (row = -1) /判斷要?jiǎng)h除的信息是否被選中JOptionPane.showMessageDialog(null, 請(qǐng)選擇要?jiǎng)h除的記錄!); else if (!bstd) /判斷選擇的是不是查詢后的結(jié)果.專業(yè)專注.int j1 = 0;try rs = stmt.executeQuery(select * from c);while (rs.next() & j1 = row) /找出當(dāng)前被選中的記錄在數(shù)據(jù)庫中的對(duì)應(yīng)kch = rs.getString(cno);kcm = rs

26、.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.showMessageDialog(null, 記錄刪除成功 ! );this.dispose();new CM( 課程信息管理).display(); catch (SQLException e) e.pri

27、ntStackTrace();else try int rs1 = stmt.executeUpdate(delete from c where cno=+ mkch + );/刪除數(shù)據(jù)庫中當(dāng)前被選中的記錄JOptionPane.showMessageDialog(null, 記錄刪除成功 ! );this.dispose();.專業(yè)專注.new CM( 課程信息管理).display(); catch (SQLException e) e.printStackTrace(); public void update() /修改某個(gè)課程記錄String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow();if (row = -1) JOptionPane.showMessageDialog(null, 請(qǐng)選擇要修改的記錄!); else int j1 = 0;try if (!bstd) /判斷選擇的是不是查詢后的結(jié)果rs

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論