JAVA-連接sqlserver-學(xué)生成績管理系統(tǒng)-DOC(共21頁)_第1頁
JAVA-連接sqlserver-學(xué)生成績管理系統(tǒng)-DOC(共21頁)_第2頁
JAVA-連接sqlserver-學(xué)生成績管理系統(tǒng)-DOC(共21頁)_第3頁
JAVA-連接sqlserver-學(xué)生成績管理系統(tǒng)-DOC(共21頁)_第4頁
JAVA-連接sqlserver-學(xué)生成績管理系統(tǒng)-DOC(共21頁)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告題 目 學(xué)生成績管理系統(tǒng) 學(xué) 院 數(shù)學(xué)與信息工程學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級 同組成員 編寫日期 一、 課程設(shè)計(jì)目的 做這個(gè)小的學(xué)生成績管理系統(tǒng)來加深對JAVA所學(xué)知識的鞏固,以及學(xué)習(xí)JAVA與數(shù)據(jù)庫的連接和JAVA的GUI圖形界面。二、 需求分析此系統(tǒng)實(shí)現(xiàn)如下系統(tǒng)功能:(1)使得學(xué)生的成績管理工作更加清晰、條理化、自動(dòng)化。(2)通過用戶名和密碼登錄系統(tǒng),查詢學(xué)生基本資料,學(xué)生所學(xué)課程成績,等功能。 容易地完成學(xué)生信息的查詢操作。(3) 設(shè)計(jì)人機(jī)友好界面,功能安排合理,操作使用方便,并且進(jìn)一步考慮系統(tǒng)在安全性,完整性,并發(fā)控制,備份和恢復(fù)等方面的功能要

2、求。三、系統(tǒng)模塊設(shè)計(jì)用戶登錄此系統(tǒng)可分為2個(gè)模塊,教師管理模塊和學(xué)生操作模塊,期中教師又包括學(xué)生信息輸入與學(xué)生成績錄入等;學(xué)生模塊則包括學(xué)生成績查詢與學(xué)生信息錄入查詢操作等。系統(tǒng)流程圖:學(xué)生學(xué)生信息查詢學(xué)生成績查詢教師學(xué)生成績錄入學(xué)生信息錄入四、數(shù)據(jù)庫1、學(xué)生表:FieldTypeNullKeyComment IDVarchar(10)PRI用戶名(學(xué)號)PwdVarchar(10)密碼NameChar(10)姓名SexChar(10)性別ClassChar(10)班級CollageChar(10)學(xué)院2、教師表FieldTypeNullKeyComment IDVarchar(10)PRI用

3、戶名PwdVarchar(10)密碼3、成績表FieldTypeNullKeyComment Sidchar(10)PRI學(xué)號計(jì)算機(jī)網(wǎng)絡(luò)char(10)課程Linux操作系統(tǒng)char(10)課程計(jì)算機(jī)專業(yè)英語char(10)課程計(jì)算機(jī)信息技術(shù)char(10)課程Java程序設(shè)計(jì)char(10)課程數(shù)據(jù)庫應(yīng)用實(shí)訓(xùn)char(10)課程高等數(shù)學(xué)char(10)課程XMLchar(10)課程五、E-R圖六、心得體會(huì)通過本次課程設(shè)計(jì),成功的完成了這個(gè)小型簡單的系統(tǒng)的設(shè)計(jì),在整個(gè)設(shè)計(jì)過程中我對JAVA使用和它強(qiáng)大的作用有了一個(gè)更深刻的認(rèn)識,盡管這個(gè)系統(tǒng)很簡單,但是它讓我綜合運(yùn)用了這個(gè)學(xué)期所學(xué)的JAVA的很

4、多內(nèi)容,在此基礎(chǔ)上,對JAVA的基礎(chǔ)知識得到了更好的鞏固。在制作的過程中我也學(xué)到很多思想:首先,要學(xué)會(huì)統(tǒng)籌全局,合理規(guī)劃,例如在制作整個(gè)框架的時(shí)候提前就要做全面考慮,要把整個(gè)結(jié)構(gòu)圖畫出來,并且要對數(shù)據(jù)庫表里的東西做全面規(guī)劃。同時(shí)在編寫程序的時(shí)候也要想好先實(shí)現(xiàn)什么功能,再實(shí)現(xiàn)什么功能,這樣做出來的東西才有條理性,更容易實(shí)現(xiàn)和理解。其次,要細(xì)心仔細(xì)。Java程序雖然容易理解,但在寫的過程中一不留心就會(huì)出現(xiàn)錯(cuò)誤。當(dāng)然出錯(cuò)是在所難免的,與性質(zhì)有關(guān)的錯(cuò)誤可以經(jīng)過思考討論后進(jìn)行改正,但如果粗心大意,出現(xiàn)輸入上的錯(cuò)誤就很難發(fā)現(xiàn)和修改,會(huì)耽誤很多時(shí)間。我認(rèn)為最大的收獲是提高了自己的動(dòng)手能力。在平時(shí)的上機(jī)中大多

5、數(shù)是根據(jù)書上的思想和布局來寫程序的。這次的課程設(shè)計(jì)要自己思考自己寫,考慮的東西比平時(shí)上機(jī)考慮的要多的多。在整個(gè)設(shè)計(jì)過程中寫代碼不是最難的,最難的是構(gòu)思和布局。這次課程設(shè)計(jì)也是一次很好的實(shí)踐活動(dòng),讓我們體會(huì)到了java的神奇作用。附錄:源代碼1、用戶登錄界面import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Systems extends JFrame implements ActionListenerstatic Systems ss;JPanel panel

6、 = new JPanel();JLabel label1 = new JLabel(輸入姓名:);JTextField name = new JTextField();JLabel label2 = new JLabel(密 碼:);JPasswordField pwd = new JPasswordField();JButton Enter = new JButton(登錄);JButton Exit = new JButton(退出);String url = E:mysqlTM1.jpg;ButtonGroup bgp = new ButtonGroup();JRadioButton

7、stu = new JRadioButton(學(xué)生);JRadioButton tch = new JRadioButton(教師);public Systems()super(登錄系統(tǒng));this.setResizable(false); JLabel img = new JLabel(new ImageIcon(url);img.setBounds(0,0,500,125);panel.add(img);stu.setBounds(165,210,70,20);tch.setBounds(265,210,70,20);bgp.add(stu);bgp.add(tch);panel.add(

8、stu);panel.add(tch);Enter.setBounds(150,250,80,20);Exit.setBounds(270,250,80,20);Enter.addActionListener(this);Exit.addActionListener(this);panel.add(Enter);panel.add(Exit); panel.setLayout(null);this.add(panel);label1.setBounds(135,130,100,25);panel.add(label1); name.setBounds(265,130,100,25);panel

9、.add(name);label2.setBounds(135,165,100,25);panel.add(label2); pwd.setBounds(265,165,100,25);panel.add(pwd);this.setBounds(100,100,500,350);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public void actionPerformed(ActionEvent e)if(e.getSource()=Enter)String username , pas

10、sword;username = name.getText(); password = new String(pwd.getPassword();tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage();if(stu.isSelected()try Connection con = DriverManager.getConnection(jdbc:odbc:shujuku,sa,); Statem

11、ent stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(select * from STU); while(rs.next() if(rs.getString(ID).equals(username) if(rs.getString(Pwd).equals(password) JOptionPane.showMessageDialog(ss,登陸成功); Students stu = new Students(); else JOptionPane.showMessageDialog(ss,登錄失敗); rs.clo

12、se(); stmt.close(); catch (SQLException se) JOptionPane.showMessageDialog(ss,se.getMessage(); else if(tch.isSelected()tryConnection con = DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(select * from TCH);while(rs.next()if(rs

13、.getString(ID).equals(username)if(rs.getString(Pwd).equals(password)JOptionPane.showMessageDialog(ss,登陸成功);Teachers tch=new Teachers();elseJOptionPane.showMessageDialog(ss,登錄失敗);catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage();elseSystem.exit(0);public static void main(String

14、args)Systems sys = new Systems();2、學(xué)生登錄界面:import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Students extends JFrame implements ActionListenerJMenuBar jmb = new JMenuBar();JMenu Message = new JMenu(信息);JMenu Score = new JMenu(成績);JMenuItem Item1 = new JMenuItem(插入);JMenuItem

15、 Item2 = new JMenuItem(查詢);JMenuItem Item3 = new JMenuItem(查詢);public Students()super(學(xué)生界面);this.setSize(500,400);this.setVisible(true);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setJMenuBar(jmb);jmb.add(Message);jmb.add(Score);Message.add(Item1);Message.add(It

16、em2);Score.add(Item3);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this); public void actionPerformed(ActionEvent e)if(e.getSource()=Item1)AddMsg ad = new AddMsg();else if(e.getSource()=Item2)Serch ser = new Serch();elseScore so = new Score();public static void

17、 main(String args)Students stu = new Students();3、教師登錄界面:import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Teachers extends JFrame implements ActionListenerJMenuBar bar = new JMenuBar();JMenu menu1 = new JMenu(信息);JMenu menu2 = new JMenu(成績);JMenuItem item1 = new JMenuItem(

18、錄入信息);JMenuItem item2 = new JMenuItem(錄入成績);JPanel jpl = new JPanel();public Teachers()super(教師界面);this.setSize(500,300);this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setJMenuBar(bar);this.add(jpl);jpl.setLayout(null);bar.add(menu1);bar.add(m

19、enu2);menu1.add(item1);menu2.add(item2);item1.addActionListener(this);item2.addActionListener(this);public void actionPerformed(ActionEvent e)if(e.getSource()=item1)AddMsg msg = new AddMsg();elseAddscore as = new Addscore();public static void main(String args)Teachers tch = new Teachers();4、學(xué)生用戶添加界面

20、:import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class AddMsg extends JFrame implements ActionListenerstatic AddMsg s;/*添加學(xué)生信息控件*/JPanel jpl = new JPanel();JLabel label1 = new JLabel(添加基本信息,JLabel.CENTER);JLabel label2 = new JLabel(學(xué)號:,JLabel.CENTER);JLabel la

21、bel3 = new JLabel(姓名:,JLabel.CENTER);JLabel label4 = new JLabel(性別:,JLabel.CENTER);JLabel label5 = new JLabel(班級:,JLabel.CENTER);JLabel label6 = new JLabel(學(xué)院:,JLabel.CENTER);JTextField num = new JTextField(2);JTextField nam = new JTextField(4);ButtonGroup bgp = new ButtonGroup();JRadioButton man =

22、new JRadioButton(男);JRadioButton women = new JRadioButton(女);JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton(重置);JButton addmsg = new JButton(添加);public AddMsg()super(添加學(xué)生信息);this.setResizable(false);this.setSize(500,400);this.setVisible(true);this.se

23、tDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);addmsg.addActionListener(this);reset.addActionListener(this);/*插入面板*/label1.setBounds(100,20,300,20);jpl.add(label1);label2.setBounds(100,50,70,20);jpl.add(label2);num.setBounds(190,50,140,20);jpl.add(num);label3.setBound

24、s(100,90,70,20);jpl.add(label3);nam.setBounds(190,90,140,20);jpl.add(nam);label4.setBounds(100,130,70,20);jpl.add(label4);man.setBounds(190,130,60,20);women.setBounds(270,130,60,20);jpl.add(man);jpl.add(women);bgp.add(man);bgp.add(women);label5.setBounds(100,170,70,20);jpl.add(label5);clas.setBounds

25、(190,170,140,20);jpl.add(clas);label6.setBounds(100,210,70,20);jpl.add(label6);scl.setBounds(190,210,140,20);jpl.add(scl);reset.setBounds(120,250,90,20);addmsg.setBounds(240,250,90,20);jpl.add(reset);jpl.add(addmsg);public void actionPerformed(ActionEvent e)if(e.getSource()=addmsg)String sex;if(man.

26、isSelected() sex=男;else sex=女; tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(s,ce.getMessage();tryConnection con = DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();String str = insert into STU(ID

27、 , Pwd , Name , Sex , Class , Collage)values(+num.getText()+,+123,+nam.getText()+,+sex+,+clas.getText()+,+scl.getText()+);/int a = stmt.executeUpdate(insert into STU(ID , Pwd , Name , Sex , Class , Collage)values(+num.getText()+,+12345678,+nam.getText()+,+sex+,+clas.getText()+,+scl.getText()+);Syste

28、m.out.println(str);int a = stmt.executeUpdate(str);if(a=1)JOptionPane.showMessageDialog(s,已成功添加);elseJOptionPane.showMessageDialog(s,添加失敗);stmt.close();catch (SQLException se)JOptionPane.showMessageDialog(s,se.getMessage();elsenum.setText();nam.setText();clas.setText();scl.setText();num.requestFocus

29、();public static void main(String args)AddMsg amg = new AddMsg();5、學(xué)生成績添加:import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Addscore extends JFrame implements ActionListenerstatic Addscore ss;JLabel label = new JLabel(學(xué)號:) , new JLabel(計(jì)算機(jī)網(wǎng)絡(luò):) , new JLabel

30、(Linux操作系統(tǒng):) , new JLabel(計(jì)算機(jī)專業(yè)英語:) , new JLabel(計(jì)算機(jī)信息技術(shù)基礎(chǔ):) , new JLabel(Java程序設(shè)計(jì):) , new JLabel(數(shù)據(jù)庫應(yīng)用實(shí)訓(xùn)教程:) , new JLabel(高等數(shù)學(xué):) , new JLabel(XML:); JTextField txt = new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,ne

31、w JTextField() ,new JTextField() ;JButton add = new JButton(添加);JButton reset = new JButton(重置);JPanel jpl = new JPanel();JLabel title = new JLabel(添加學(xué)生成績 , JLabel.CENTER);Font f = new Font(黑體 , Font.BOLD , 16 );int s = 100;public Addscore()super(添加學(xué)生信息);this.setResizable(false);this.setSize(500,600

32、);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setVisible(true);this.add(jpl);add.addActionListener(this);reset.addActionListener(this);jpl.setLayout(null);title.setBounds(150,40,200,20);title.setFont(f);title.setForeground(Color.red);jpl.setBackground(Color.LIGHT_GRAY);jpl.add(title);for(int i

33、 = 0 ; i label.length ; i+)labeli.setBounds(100,s,140,20);jpl.add(labeli);txti.setBounds(260,s,140,20);jpl.add(txti);s=s+40;add.setBounds(150,s,80,20);reset.setBounds(250,s,80,20);jpl.add(add);jpl.add(reset);public void actionPerformed(ActionEvent e)if(e.getSource()=add)tryClass.forName(sun.jdbc.odb

34、c.JdbcOdbcDriver);catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage();tryConnection con = DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();int a = stmt.executeUpdate(insert into 計(jì)算機(jī)系成績(SID , 計(jì)算機(jī)網(wǎng)絡(luò) , Linux操作系統(tǒng) , 計(jì)算機(jī)專業(yè)英語 , 計(jì)算機(jī)信息技術(shù)基

35、礎(chǔ) , Java程序設(shè)計(jì) , 數(shù)據(jù)庫應(yīng)用實(shí)訓(xùn)教程 , 高等數(shù)學(xué) , Xml)values(+txt0.getText()+,+txt1.getText()+,+txt2.getText()+,+txt3.getText()+,+txt4.getText()+,+txt5.getText()+,+txt6.getText()+,+txt7.getText()+,+txt8.getText()+);if(a=1)JOptionPane.showMessageDialog(ss,添加成功);elseJOptionPane.showMessageDialog(ss,添加失敗);catch (SQLEx

36、ception se)JOptionPane.showMessageDialog(ss,se.getMessage();elsefor(int i = 0 ; itxt.length ; i+)txti.setText();txt0.requestFocus();public static void main(String args)Addscore as = new Addscore();6、學(xué)生信息查詢:import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class

37、Serch extends JFrame implements ActionListener/*查詢學(xué)生信息控件*/static Serch s;JPanel jpl = new JPanel();JLabel SCH = new JLabel(查詢學(xué)生信息,JLabel.CENTER);JLabel label1 = new JLabel(請輸入學(xué)號:,JLabel.CENTER);JButton serch = new JButton(查詢);JLabel label2 = new JLabel(姓名:,JLabel.CENTER);JLabel label3 = new JLabel(班

38、級:,JLabel.CENTER);JLabel label4 = new JLabel(學(xué)校:,JLabel.CENTER);JLabel label5 = new JLabel(性別:,JLabel.CENTER);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton(男);JRadioButton women = new JRadioButton(女);JTextField num = new JTextField();JTextField nam = new JTextField();JTextF

39、ield clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton(重置);public Serch()this.setSize(500,400);this.setVisible(true);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);serch.addActionListener(this);reset.

40、addActionListener(this);/*查詢面板*/SCH.setBounds(100,20,300,20);jpl.add(SCH);label1.setBounds(100,60,100,20);jpl.add(label1);num.setBounds(220,60,140,20);jpl.add(num);serch.setBounds(120,100,90,20);reset.setBounds(260,100,90,20);jpl.add(serch);jpl.add(reset);label2.setBounds(100,140,70,20);jpl.add(labe

41、l2);nam.setBounds(190,140,140,20);jpl.add(nam);label5.setBounds(100,180,70,20);jpl.add(label5);man.setBounds(205,180,60,20);women.setBounds(285,180,60,20);bgp.add(man);bgp.add(women);jpl.add(man);jpl.add(women);label3.setBounds(100,220,70,20);jpl.add(label3);clas.setBounds(190,220,140,20);jpl.add(cl

42、as);label4.setBounds(100,260,70,20);jpl.add(label4);scl.setBounds(190,260,140,20);jpl.add(scl);public void actionPerformed(ActionEvent e)String id = num.getText();if(e.getSource()=serch)tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(s,ce

43、.getMessage();tryConnection con = DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(select * from STU where ID = + id + );while(rs.next()nam.setText(rs.getString(Name);if(rs.getString(Sex).equals(男)man.setSelected(true);elsewom

44、en.setSelected(true);clas.setText(rs.getString(Class);scl.setText(rs.getString(Collage);catch (SQLException se)JOptionPane.showMessageDialog(s,se.getMessage();public static void main(String args)Serch sch = new Serch();7、學(xué)生成績查詢import java.awt.*;import javax.swing.*;import java.awt.event.*;import jav

45、a.awt.font.*;import java.sql.*;public class Score extends JFrame implements ActionListenerstatic Score s;JLabel title = new JLabel(查詢成績,JLabel.CENTER);Font f = new Font(楷體,Font.BOLD+Font.ITALIC,16);JPanel jpl = new JPanel();JLabel label1 = new JLabel(請輸入學(xué)號:,JLabel.CENTER);JTextField num = new JTextF

46、ield();JButton serch = new JButton(查詢成績);JButton reset = new JButton(重置);JLabel label2 = new JLabel(計(jì)算機(jī)網(wǎng)絡(luò):,JLabel.LEFT);JLabel label3 = new JLabel(Linux操作系統(tǒng):,JLabel.LEFT);JLabel label4 = new JLabel(計(jì)算機(jī)專業(yè)英語:,JLabel.LEFT);JLabel label5 = new JLabel(計(jì)算機(jī)信息技術(shù)基礎(chǔ):,JLabel.LEFT);JLabel label6 = new JLabel(Ja

47、va程序設(shè)計(jì):,JLabel.LEFT);JLabel label7 = new JLabel(數(shù)據(jù)庫:,JLabel.LEFT);JLabel label8 = new JLabel(高等數(shù)學(xué):,JLabel.LEFT);JLabel label9 = new JLabel(XML:,JLabel.LEFT);JTextField txt = new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField();static int p = 140;public Score()super

溫馨提示

  • 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)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論