JAVA连接sqlserver学生成绩管理系统

上传人:微*** 文档编号:112986418 上传时间:2022-06-24 格式:DOCX 页数:18 大小:110.03KB
返回 下载 相关 举报
JAVA连接sqlserver学生成绩管理系统_第1页
第1页 / 共18页
JAVA连接sqlserver学生成绩管理系统_第2页
第2页 / 共18页
JAVA连接sqlserver学生成绩管理系统_第3页
第3页 / 共18页
点击查看更多>>
资源描述
学生成绩管理系统课程设计实验报告题目学生成绩管理系统学院数学与信息工程学院专业计算机科学与技术班级同组成员编写日期课程设计目的做这个小的学生成绩管理系统来加深对 JAVA所学知识的巩固,以及学习JAVA与数 据库的连接和JAVA的GUI图形界面。二、需求分析此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。(2)通过用户名和密码登录系统,查询学生基本资料,学生所学课程成绩,等功能。容易地完成学生信息的查询操作。(3)设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。三、系统模块设计此系统可分为2个模块,教师管理模块和学生操作模块,期中教师又包括学生信息 输入与学生成绩录入等;学生模块则包括学生成绩查询与学生信息录入查询操作等。CollageChar(10) 学院2、教帅哀FieldTypeNullKeyCommentIDVarchar(10)PRI用户名PwdVarchar(10)密码3、成绩表FieldTypeNullKeyCommentSidchar(10)PRI学号计算机网络char(10)课程Linux操作系统char(10)课程计算机专业英语char(10)课程计算机信息技术char(10)课程Java程序设计char(10)课程数据库应用实训char(10)课程高等数学char(10)课程XMLchar(10)课程五、E-R图六、心得体会通过本次课程设计,成功的完成了这个小型简单的系统的设计,在整个设计过程中我对JAVA使用和它强大的作用有了一个更深刻的认识,尽管这个系统很简单,但是它 让我综合运用了这个学期所学的 JAVA的很多内容,在此基础上,对 JAVA的基础知识 得到了更好的巩固。在制作的过程中我也学到很多思想:首先,要学会统筹全局,合理规划,例如在制 作整个框架的时候提前就要做全面考虑,要把整个结构图画出来,并且要对数据库表 里的东西做全面规划。同时在编写程序的时候也要想好先实现什么功能,再实现什么 功能,这样做出来的东西才有条理性,更容易实现和理解。其次,要细心仔细。Java程序虽然容易理解,但在写的过程中一不留心就会出现错误。 当然出错是在所难免的, 与性质有关的错误可以经过思考讨论后进行改正,但如果粗心大意,出现输入上的错 误就很难发现和修改,会耽误很多时间。我认为最大的收获是提高了自己的动手能力。 在平时的上机中大多数是根据书上的 思想和布局来写程序的。这次的课程设计要自己思考自己写,考虑的东西比平时上机 考虑的要多的多。在整个设计过程中写代码不是最难的,最难的是构思和布局。这次 课程设计也是一次很好的实践活动,让我们体会到了java的神奇作用。附录:源代码1、用户登录界面import java.awt*;import javax.swing.*;import java.sql.*;public class Systems extends JFrame implements ActionListener static Systems ss;JPanel panel = 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 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(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.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 , password;username = name.getText();password = new String(pwd.getPassword(); try catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage();if(stu.isSelected()tryConnectioncon=DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement 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.close();stmt.close();catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage(); else if(tch.isSelected() try Connectioncon=DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(select * from TCH); while(rs.next() if(rs.getString(ID).equals(username) if(rs.getString(Pwd).equals(password) JOptionPane.showMessageDialog(ss, 登 陆 成 功 );Teachers tch=new Teachers(); else JOptionPane.showMessageDialog(ss, 登 录 失 败 );catch (SQLException se) JOptionPane.showMessageDialog(ss,se.getMessage(); elseSystem.exit(0);public static void main(String args)Systems sys = new Systems();2、学生登录界面:import java.awt.*;import javax.swing.*;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 JMenuItem( 查询 );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(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 main(String args)Students stu = new Students();3、教师登录界面:import java.awt.*;import javax.swing.*;public class Teachers extends JFrame implements ActionListenerJMenuBar bar = new JMenuBar();JMenu menul = new JMenu(信息)JMenu menu2 = new JMenu(成绩)JMenuItem item1 = new JMenuItem( 录入信息);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(menu2);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、学生用户添加界面:import java.awt.*;import javax.swing.*;import java.sql.*;public class AddMsg extends JFrame implements ActionListener static AddMsg s;/* 添加学生信息控件*/JPanel jpl = new JPanel();JLabel label1 = new JLabel(JLabel label2 = new JLabel(JLabel label3 = new JLabel(JLabel label4 = new JLabel(JLabel label5 = new JLabel(JLabel label6 = new JLabel(添加基本信息,JLabel.CENTER);学号: 姓名: 性别: 班级: 学院:IIIIIIIIII,JLabel.CENTER);,JLabel.CENTER);,JLabel.CENTER);,JLabel.CENTER);,JLabel.CENTER);JTextField num = new JTextField(2);JTextField nam = new JTextField(4);ButtonGroup bgp = new ButtonGroup();男);JRadioButton man = 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( 添加学生信息 );this.setResizable(false);this.setSize(500,400);this.setVisible(true);this.setDefaultCloseOperation(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.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.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= 男 ;elsesex= 女;tryJOptionPane.showMessageDialog(s,ce.getMessage(); try ConnectionconDriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();String str = insert into STU(ID , Pwd , Name , Sex , Class ,Collage)values(+num.getText()+,+123,+nam.getText()+,+sex+, +clas.getText()+,+scl.getText()+);int a = stmt.executeUpdate(str);if(a=1)JOptionPane.showMessageDialog(s, 已成功添加 ); else JOptionPane.showMessageDialog(s, 添加失败 ); stmt.close();catch (SQLException se)JOptionPane.showMessageDialog(s,se.getMessage(); else num.setText(); nam.setText(); clas.setText(); scl.setText(); num.requestFocus();public static void main(String args)AddMsg amg = new AddMsg();5、学生成绩添加:import java.awt.*;import javax.swing.*;import java.sql.*;public class Addscore extends JFrame implements ActionListener static Addscore ss;JLabel label = new JLabel( 学号: ) , new JLabel( 计算机网络: ) , new JLabel(Linux 操作系统: ) , new JLabel( 计算机专业英语: ) , new JLabel( 计算机信息技术基础: ) , new JLabel(Java 程序设计: ) , new JLabel( 数据库 应用实训教程: ) , new JLabel( 高等数学: ) , new JLabel(XML : );JTextField txt = new JTextField() , newJTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() ;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(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+)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)trycatch (ClassNotFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage(); tryConnectioncon=DriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();int a = stmt.executeUpdate(insert into计算机系成绩(SID , 计算机网络 , Linux 操作系统 , 计算机专业英语, 计算机信息技术基础, Java 程序设计 , 数据库应用实训教程 , 高等数学 , 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, 添加成功 ); else JOptionPane.showMessageDialog(ss, 添加失败 );catch (SQLException 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、学生信息查询: import java.awt.*;import javax.swing.*;import java.sql.*;public class Serch extends JFrame implements 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 label3 = new JLabel( 班级:JLabel label4 = new JLabel( 学校:JLabel label5 = new JLabel( 性别: ButtonGroup bgp = new ButtonGroup();,JLabel.CENTER);,JLabel.CENTER);,JLabel.CENTER);,JLabel.CENTER);JRadioButton man = new JRadioButton( 男);JRadioButton women = new JRadioButton( 女);JTextField num = new JTextField();JTextField nam = new JTextField();JTextField 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.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(label2);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(clas);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)trycatch (ClassNotFoundException ce)JOptionPane.showMessageDialog(s,ce.getMessage();tryconConnectionDriverManager.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); else women.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、学生成绩查询import java.awt.*;import javax.swing.*;import java.sql.*;public class Score extends JFrame implements ActionListener static 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 JButton( 查询成绩 );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 label7 = new JLabel( 数据库: ,JLabel.LEFT);JLabel label8 = new JLabel( 高等数学: ,JLabel.LEFT);JLabel label9 = new JLabel(XML : ,JLabel.LEFT);JTextFieldtxt = newJTextField() , newJTextField() , new JTextField() ,new JTextField(), new JTextField() , new JTextField() ,new JTextField() , newJTextField();static int 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);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) label5.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 = 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(); try catch (ClassNotFoundException ce) JOptionPane.showMessageDialog(s,ce.getMessage(); try ConnectionconDriverManager.getConnection(jdbc:odbc:shujuku,sa,);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(select 计算机系成绩.* fromSTU, 计算机系成绩where STU.ID = + id + ANDSTU.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.setText();num.setText();public static void main(String args)Score s = new Score();
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!