java连sqlserver_JAVA连接sqlserver学生成绩管理系统

《JAVA连接sqlserver学生成绩管理系统》由会员分享,可在线阅读,更多相关《JAVA连接sqlserver学生成绩管理系统(21页珍藏版)》请在人人文库网上搜索。

1、学生成绩管理系统课程设计实验报告题 目 学生成绩管理系统 学 院 数学与信息工程学院 专 业 计算机科学与技术 班 级 同组成员 编写日期 一、 课程设计目的 做这个小的学生成绩管理系统来加深对JAVA所学知识的巩固,以及学习JAVA与数据库的连接和JAVA的GUI图形界面。二、 需求分析此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。(2)通过用户名和密码登录系统,查询学生基本资料,学生所学课程成绩,等功能。 容易地完成学生信息的查询操作。(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要。

2、求。三、系统模块设计用户登录此系统可分为2个模块,教师管理模块和学生操作模块,期中教师又包括学生信息输入与学生成绩录入等;学生模块则包括学生成绩查询与学生信息录入查询操作等。系统流程图:学生学生信息查询学生成绩查询教师学生成绩录入学生信息录入四、数据库1、学生表:FieldTypeNullKeyComment IDVarchar(10)PRI用户名(学号)PwdVarchar(10)密码NameChar(10)姓名SexChar(10)性别ClassChar(10)班级CollageChar(10)学院2、教师表FieldTypeNullKeyComment IDVarchar(10)PRI用。

3、户名PwdVarchar(10)密码3、成绩表FieldTypeNullKeyComment Sidchar(10)PRI学号计算机网络char(10)课程Linux操作系统char(10)课程计算机专业英语char(10)课程计算机信息技术char(10)课程Java程序设计char(10)课程数据库应用实训char(10)课程高等数学char(10)课程XMLchar(10)课程五、E-R图六、心得体会通过本次课程设计,成功的完成了这个小型简单的系统的设计,在整个设计过程中我对JAVA使用和它强大的作用有了一个更深刻的认识,尽管这个系统很简单,但是它让我综合运用了这个学期所学的JAVA的很。

4、多内容,在此基础上,对JAVA的基础知识得到了更好的巩固。在制作的过程中我也学到很多思想:首先,要学会统筹全局,合理规划,例如在制作整个框架的时候提前就要做全面考虑,要把整个结构图画出来,并且要对数据库表里的东西做全面规划。同时在编写程序的时候也要想好先实现什么功能,再实现什么功能,这样做出来的东西才有条理性,更容易实现和理解。其次,要细心仔细。Java程序虽然容易理解,但在写的过程中一不留心就会出现错误。当然出错是在所难免的,与性质有关的错误可以经过思考讨论后进行改正,但如果粗心大意,出现输入上的错误就很难发现和修改,会耽误很多时间。我认为最大的收获是提高了自己的动手能力。在平时的上机中大多。

5、数是根据书上的思想和布局来写程序的。这次的课程设计要自己思考自己写,考虑的东西比平时上机考虑的要多的多。在整个设计过程中写代码不是最难的,最难的是构思和布局。这次课程设计也是一次很好的实践活动,让我们体会到了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(学生);JRadioButton tch = new JRadioButton(教师);public Systems()super(登录系统);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(s。

8、tu);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.ad。

9、d(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 , passwor。

10、d;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()tryConnection con = DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stm。

11、t = 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();elseJOptionPane.showMessageDialog(ss,登录失败);rs.close();stmt.close。

12、();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.getString(ID).equa。

13、ls(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 args)Systems sys = 。

14、new Systems();2、学生登录界面: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 Item2 = new JMenuI。

15、tem(查询);JMenuItem Item3 = new JMenuItem(查询);public Students()super(学生界面);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(Item2);Score.add(Item。

16、3);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 main(String args)St。

17、udents 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(录入信息);JMenuItem item。

18、2 = 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(menu2);menu1.add(item。

19、1);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、学生用户添加界面:import java.awt.*;i。

20、mport javax.swing.*;import java.awt.event.*;import java.sql.*;public class AddMsg extends JFrame implements ActionListenerstatic AddMsg s;/*添加学生信息控件*/JPanel jpl = new JPanel();JLabel label1 = new JLabel(添加基本信息,JLabel.CENTER);JLabel label2 = new JLabel(学号:,JLabel.CENTER);JLabel label3 = new JLabel(姓名。

21、:,JLabel.CENTER);JLabel label4 = new JLabel(性别:,JLabel.CENTER);JLabel label5 = new JLabel(班级:,JLabel.CENTER);JLabel label6 = new JLabel(学院:,JLabel.CENTER);JTextField num = new JTextField(2);JTextField nam = new JTextField(4);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton(男);。

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

23、on(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.setBounds(100,90,70,20);jpl.。

24、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(190,170,140,20);jpl。

25、.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.isSelected()sex=男;el。

26、sesex=女;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 , Pwd , Name , Sex , C。

27、lass , 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()+,+,+nam.getText()+,+sex+,+clas.getText()+,+scl.getText()+);System.out.println(str);int a = stmt。

28、.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();public static void main(Stri。

29、ng args)AddMsg amg = new AddMsg();5、学生成绩添加: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(学号:) , new JLabel(计算机网络:) , new JLabel(Linux操作系统:) , new JLabel(计算机专业。

30、英语:) , new JLabel(计算机信息技术基础:) , new JLabel(Java程序设计:) , new JLabel(数据库应用实训教程:) , new JLabel(高等数学:) , new JLabel(XML:); JTextField txt = new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField(。

31、) ;JButton add = new JButton(添加);JButton reset = new JButton(重置);JPanel jpl = new JPanel();JLabel title = new JLabel(添加学生成绩 , JLabel.CENTER);Font f = new Font(黑体 , Font.BOLD , 16 );int s = 100;public Addscore()super(添加学生信息);this.setResizable(false);this.setSize(500,600);this.setDefaultCloseOperation。

32、(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 = 0 ; i label.length ; i+)labe。

33、li.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.odbc.JdbcOdbcDriver);catch (ClassN。

34、otFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage();tryConnection con = DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();int a = stmt.executeUpdate(insert into 计算机系成绩(SID , 计算机网络 , Linux操作系统 , 计算机专业英语 , 计算机信息技术基础 , Java程序设计 , 数据库应用实训教程 , 高等数学。

35、 , 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 (SQLException se)JOptionPane.showMess。

36、ageDialog(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、学生信息查询:import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Serch extends JFrame implements。

37、 ActionListener/*查询学生信息控件*/static Serch s;JPanel jpl = new JPanel();JLabel SCH = new JLabel(查询学生信息,JLabel.CENTER);JLabel label1 = new JLabel(请输入学号:,JLabel.CENTER);JButton serch = new JButton(查询);JLabel label2 = new JLabel(姓名:,JLabel.CENTER);JLabel label3 = new JLabel(班级:,JLabel.CENTER);JLabel label4。

38、 = new JLabel(学校:,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();JTextField clas = new JTextField();JT。

39、extField 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.addActionListener(this);/*查询面板*。

40、/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(label2);nam.setBounds(190,140,140,2。

41、0);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(clas);label4.setBounds(100,260,70。

42、,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.getMessage();tryConnection con。

43、 = 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);elsewomen.setSelected(true);clas.setTe。

44、xt(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、学生成绩查询import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.awt.font.*;import java.sql.*;。

45、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(请输入学号:,JLabel.CENTER);JTextField num = new JTextField();JButton serch = new JBut。

46、ton(查询成绩);JButton reset = new JButton(重置);JLabel label2 = new JLabel(计算机网络:,JLabel.LEFT);JLabel label3 = new JLabel(Linux操作系统:,JLabel.LEFT);JLabel label4 = new JLabel(计算机专业英语:,JLabel.LEFT);JLabel label5 = new JLabel(计算机信息技术基础:,JLabel.LEFT);JLabel label6 = new JLabel(Java程序设计:,JLabel.LEFT);JLabel lab。

47、el7 = new JLabel(数据库:,JLabel.LEFT);JLabel label8 = new JLabel(高等数学:,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 i。

48、nt p = 140;public Score()super(查询分数);this.setResizable(false);this.setSize(500,550);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);title.setFont(f);this.add(jpl);jpl.setLayout(null);title.setBounds(100,20,300,20);jpl.add(title);label1.setBounds(100,60,90,20);jpl.add(label1。

49、);num.setBounds(210,60,140,20);jpl.add(num);serch.setBounds(130,100,90,20);reset.setBounds(240,100,90,20);jpl.add(serch);jpl.add(reset);serch.addActionListener(this);reset.addActionListener(this);label2.setBounds(100,140,140,20);label3.setBounds(100,180,140,20);label4.setBounds(100,220,140,20);label。

50、5.setBounds(100,260,140,20);label6.setBounds(100,300,140,20);label7.setBounds(100,340,140,20);label8.setBounds(100,380,140,20);label9.setBounds(100,420,140,20);jpl.add(label2);jpl.add(label3);jpl.add(label4);jpl.add(label5);jpl.add(label6);jpl.add(label7);jpl.add(label8);jpl.add(label9);for(int i = 。

51、0 ;itxt.length ; i+)txti.setBounds(260,p,140,20);jpl.add(txti);p=p+40;public void actionPerformed(ActionEvent e)if(e.getSource()=serch)String id = num.getText();tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(s,ce.getMessage();tryConnecti。

52、on con = DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(select 计算机系成绩.* from STU , 计算机系成绩 where STU.ID = + id + AND STU.ID = 计算机系成绩.SID);while(rs.next()for(int i = 0 ; itxt.length ; i+)txti.setText(rs.getString(i+2);catch (SQLException se)JOptionPane.showMessageDialog(s,se.getMessage();elsefor(int i = 0;itxt.length ; i+)txti。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值