JAVA连接sqlserver学生成绩标准管理系统.docx
《JAVA连接sqlserver学生成绩标准管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA连接sqlserver学生成绩标准管理系统.docx(31页珍藏版)》请在咨信网上搜索。
《学生成绩管理系统》课程设计 试验汇报 题 目 学生成绩管理系统 学 院 数学和信息工程学院 专 业 计算机科学和技术 班 级 同组组员 编写日期 一、 课程设计目标 做这个小学生成绩管理系统来加深对JAVA所学知识巩固,和学习JAVA和数据库连接和JAVAGUI图形界面。 二、 需求分析 此系统实现以下系统功效: (1)使得学生成绩管理工作愈加清楚、条理化、自动化。 (2)经过用户名和密码登录系统,查询学生基础资料,学生所学课程成绩,等功效。 轻易地完成学生信息查询操作。 (3) 设计人机友好界面,功效安排合理,操作使用方便,而且深入考虑系统在安全性,完整性,并发控制,备份和恢复等方面功效要求。 三、系统模块设计 用户登录 此系统可分为2个模块,老师管理模块和学生操作模块,期中老师又包含学生信息输入和学生成绩录入等;学生模块则包含学生成绩查询和学生信息录入查询操作等。 系统步骤图: 学生 学生信息查询 学生成绩查询 老师 学生成绩录入 学生信息录入 四、数据库 1、学生表: Field Type Null Key Comment ID Varchar(10) —— PRI 用户名(学号) Pwd Varchar(10) —— —— 密码 Name Char(10) —— —— 姓名 Sex Char(10) —— —— 性别 Class Char(10) —— —— 班级 Collage Char(10) —— —— 学院 2、老师表 Field Type Null Key Comment ID Varchar(10) —— PRI 用户名 Pwd Varchar(10) —— —— 密码 3、成绩表 Field Type Null Key Comment Sid char(10) —— PRI 学号 计算机网络 char(10) —— —— 课程 Linux操作系统 char(10) —— —— 课程 计算机专业英语 char(10) —— —— 课程 计算机信息技术 char(10) —— —— 课程 Java程序设计 char(10) —— —— 课程 数据库应用实训 char(10) —— —— 课程 高等数学 char(10) —— —— 课程 XML char(10) —— —— 课程 五、E-R图 六、心得体会 经过此次课程设计,成功完成了这个小型简单系统设计,在整个设计过程中我对JAVA使用和它强大作用有了一个更深刻认识,尽管这个系统很简单,不过它让我综合利用了这个学期所学JAVA很多内容,在此基础上,对JAVA基础知识得到了愈加好巩固。 在制作过程中我也学到很多思想:首先,要学会统筹全局,合理计划,比如在制作整个框架时候提前就要做全方面考虑,要把整个结构图画出来,而且要对数据库表里东西做全方面计划。同时在编写程序时候也要想好先实现什么功效,再实现什么功效,这么做出来东西才有条理性,更轻易实现和了解。其次,要细心仔细。Java程序即使轻易了解,但在写过程中一不留心就会出现错误。当然犯错是在所难免,和性质相关错误能够经过思索讨论后进行更正,但假如粗心大意,出现输入上错误就极难发觉和修改,会耽搁很多时间。 我认为最大收获是提升了自己动手能力。在平时上机中大多数是依据书上思想和布局来写程序。这次课程设计要自己思索自己写,考虑东西比平时上机考虑要多多。在整个设计过程中写代码不是最难,最难是构思和布局。这次课程设计也是一次很好实践活动,让我们体会到了java神奇作用。 附录:源代码 1、用户登录界面 import java.awt.*; import javax.swing.*; import java.awt.event.*; 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:\\mysql\\TM1.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 { Class.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",""); 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 { Connection 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").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()); } } } else { System.exit(0); } } public static void main(String[] args) { Systems sys = new Systems(); } } 2、学生登录界面: import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Students extends JFrame implements ActionListener { JMenuBar 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(); } else { Score so = new Score(); } } public static void main(String[] args) { Students stu = new Students(); } } 3、老师登录界面: import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Teachers extends JFrame implements ActionListener { JMenuBar bar = new JMenuBar(); JMenu menu1 = 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(); } else { Addscore as = new Addscore(); } } public static void main(String[] args) { Teachers tch = new Teachers(); } } 4、学生用户添加界面: import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; public class AddMsg extends JFrame implements ActionListener { static AddMsg s; /*添加学生信息控件*/ JPanel jpl = new JPanel(); JLabel label1 = new JLabel("添加基础信息",JLabel.CENTER); JLabel label2 = new JLabel("学号:",JLabel.CENTER); JLabel label3 = new JLabel("姓名:",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("男"); 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="男"; } else { sex="女"; } try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException ce) { JOptionPane.showMessageDialog(s,ce.getMessage()); } try { Connection con = DriverManager.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("insert into STU(ID , Pwd , Name , Sex , Class , Collage)values('"+num.getText()+"','"+"12345678','"+nam.getText()+"','"+sex+"','"+clas.getText()+"','"+scl.getText()+"')"); System.out.println(str); 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.awt.event.*; 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() , new JTextField() , 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++) { label[i].setBounds(100,s,140,20); jpl.add(label[i]); txt[i].setBounds(260,s,140,20); jpl.add(txt[i]); 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) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException ce) { JOptionPane.showMessageDialog(ss,ce.getMessage()); } try { Connection con = DriverManager.getConnection("jdbc:odbc:shujuku","sa",""); Statement stmt = con.createStatement(); int a = stmt.executeUpdate("insert into 计算机系成绩(SID , 计算机网络 , Linux操作系统 , 计算机专业英语 , 计算机信息技术基础 , Java程序设计 , 数据库应用实训教程 , 高等数学 , Xml)values('"+txt[0].getText()+"','"+txt[1].getText()+"','"+txt[2].getText()+"','"+txt[3].getText()+"','"+txt[4].getText()+"','"+txt[5].getText()+"','"+txt[6].getText()+"','"+txt[7].getText()+"','"+txt[8].getText()+"')"); if(a==1) { JOptionPane.showMessageDialog(ss,"添加成功"); } else { JOptionPane.showMessageDialog(ss,"添加失败"); } } catch (SQLException se) { JOptionPane.showMessageDialog(ss,se.getMessage()); } } else { for(int i = 0 ; i<txt.length ; i++) { txt[i].setText(""); txt[0].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 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 = 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(); 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.setBo- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 连接 sqlserver 学生 成绩 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文