版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/农工商职业技术学院实验报告实验人:______同组人:______班级:______指导老师:_____实验题目学生管理系统实验目的掌握实际开发的步骤。能够熟练开发和学生管理系统相类似的系统。掌握Java中的界面开发。掌握Java中如何连接数据库。实验设备与仪器计算机一台,配置有JDK环境实验内容编写学生管理系统程序,利用图形界面构造系统的客户端服务界面,连接数据库,使得学生教师能简单方便地对数据进行存储修改实验步骤首先确定学生管理系统的用户。学生管理系统的用户基本分为两类,分别是老师和学生。不管是哪种用户都是必须经过登录才能进入学生管理系统的,所以该系统必须有一个登录界面,并且在该界面中能够让用户选择用户是老师还是学生。该系统是不会对外开放的,所以也不存在注册界面。因为用户分为两种,所以每一种用户进行操作的界面应该是不同的。首先是学生界面,在其中应该只有查询成绩和个人信息查询和插入。主要来学习如何进行学生界面开发。除了学生界面外,还要有一个老师界面。老师在老师界面中可以对学生信息进行管理,包括查询、修改和删除。同样也可以对学生的成绩进行管理,包括查询和插入,由于输入错误还要能够对学生的成绩进行修改,由于学生作弊还能够将学生的成绩进行删除。首先数据库中应该有老师和学生这两个表,表中应该最少有用户名和密码两项,使用表中的这两项就可以进行登录。在学生表中还应该具有一些和学籍相关的信息,包括年龄、班级等内容,这样就可以在系统中对学生信息进行操作。除此之外还需要一个成绩表,通过该表老师可以对学生的成绩进行查询、插入、修改和删除。学生也可以通过该表对自己的成绩进行查询。不管是老师和学生进入学生管理系统都是从登录界面进入的。在登录界面中应该是让用户选择自己身份的,然后系统将根据用户的选择来判断用户的身份并进行查询不同的数据库。对界面设计好基本形式后,就可以进行程序开发。首先要定义两个标签和两个文本框,分别来表示用户名和密码。并且还需要定义一个下拉列表让用户来进行身份选择,其中选项包括“学生”和“老师”。在程序的最后还定义了两个按钮,从而让用户输入用户名和密码后进行登录。在学生界面中,学生可以对自己的信息进行查询,在第一次登录时还可以对自己的信息进行插入,并且学生能够查询自己的成绩。因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜单,分别进行信息和成绩的操作。因为对信息的操作包括插入和查询,所以还需要在信息菜单下定义“插入”和“查询”两个子菜单。对界面进行设计后,就可以进行程序开发。同样首先是创建一个窗口,在窗口中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜单。在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,在该界面中学生可以输入自己的信息。学生第一次插入信息后,老师是可以对学生的信息进行修改和删除的。除此之外,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单,单击该菜单就触发事件,从而进入查询学生信息界面。在学生界面中还有一个“成绩”菜单,在学生的界面该菜单下只有一个“查询”子菜单。单击“查询”子菜单,将触发事件,进入到查询成绩界面。附录登陆界面importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.sql.*;publicclasssystemsextendsJFrameimplementsActionListener{ staticsystemsss; JPanelpanel=newJPanel(); JLabellabel1=newJLabel("输入姓名:"); JTextFieldname=newJTextField(); JLabellabel2=newJLabel("密码:"); JPasswordFieldpwd=newJPasswordField(); JButtonEnter=newJButton("登录"); JButtonExit=newJButton("退出"); Stringurl="D:\\Systems\\title.jpg"; ButtonGroupbgp=newButtonGroup(); JRadioButtonstu=newJRadioButton("学生"); JRadioButtontch=newJRadioButton("教师"); publicsystems() { super("登录系统"); this.setResizable(false); JLabelimg=newJLabel(newImageIcon(url)); img.setBounds(0,0,500,100); 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); } publicvoidactionPerformed(ActionEvente) { if(e.getSource()==Enter) { Stringusername,password; username=name.getText(); password=pwd.getText(); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundExceptionce) { JOptionPane.showMessageDialog(ss,ce.getMessage()); } if(stu.isSelected()) { try { Connectioncon=DriverManager.getConnection("jdbc:odbc:sysdb","sa",""); Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("select*fromSTU"); while(rs.next()) { if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password))) { JOptionPane.showMessageDialog(ss,"登陆成功"); Studentsstu=newStudents(); } else { JOptionPane.showMessageDialog(ss,"登录失败"); } } rs.close(); stmt.close(); } catch(SQLExceptionse) { JOptionPane.showMessageDialog(ss,se.getMessage()); } } elseif(tch.isSelected()) { try { Connectioncon=DriverManager.getConnection("jdbc:odbc:systchdb","sa",""); Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("select*fromTCH"); while(rs.next()) { if((rs.getString("ID").equals(username))&&(rs.getString("Pwd").equals(password))) { JOptionPane.showMessageDialog(ss,"登陆成功"); } else { JOptionPane.showMessageDialog(ss,"登录失败"); } } } catch(SQLExceptionse) { JOptionPane.showMessageDialog(ss,se.getMessage()); } } } else { System.exit(0); } } publicstaticvoidmain(String[]args) { systemssys=newsystems(); }}学生界面importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassStudentsextendsJFrameimplementsActionListener{ JMenuBarjmb=newJMenuBar(); JMenuMessage=newJMenu("信息"); JMenuScore=newJMenu("成绩"); JMenuItemItem1=newJMenuItem("插入"); JMenuItemItem2=newJMenuItem("查询"); JMenuItemItem3=newJMenuItem("查询"); publicStudents() { 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);} publicvoidactionPerformed(ActionEvente) { if(e.getSource()==Item1) { AddMsgad=newAddMsg(); } elseif(e.getSource()==Item2) { Serchser=newSerch(); } else { Scoreso=newScore(); } } publicstaticvoidmain(String[]args) { Studentsstu=newStudents(); }}添加学生信息importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.sql.*;publicclassAddMsgextendsJFrameimplementsActionListener{ staticAddMsgs; /*添加学生信息控件*/ JPaneljpl=newJPanel(); JLabellabel1=newJLabel("添加基本信息",JLabel.CENTER); JLabellabel2=newJLabel("学号:",JLabel.CENTER); JLabellabel3=newJLabel("姓名:",JLabel.CENTER); JLabellabel4=newJLabel("性别:",JLabel.CENTER); JLabellabel5=newJLabel("班级:",JLabel.CENTER); JLabellabel6=newJLabel("学院:",JLabel.CENTER); JTextFieldnum=newJTextField(2); JTextFieldnam=newJTextField(4); ButtonGroupbgp=newButtonGroup(); JRadioButtonman=newJRadioButton("男"); JRadioButtonwomen=newJRadioButton("女"); JTextFieldclas=newJTextField(); JTextFieldscl=newJTextField(); JButtonreset=newJButton("重置"); JButtonaddmsg=newJButton("添加"); publicAddMsg() { 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); } publicvoidactionPerformed(ActionEvente) { if(e.getSource()==addmsg) { Stringsex; if(man.isSelected()) { sex="男"; } else { sex="女"; } try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundExceptionce) { JOptionPane.showMessageDialog(s,ce.getMessage()); } try { Connectioncon=DriverManager.getConnection("jdbc:odbc:sysdb","sa",""); Statementstmt=con.createStatement(); inta=stmt.executeUpdate("insertintoSTU(ID,Pwd,Name,Sex,Class,Collage)values('"+num.getText()+"','"+"12345678','"+nam.getText()+"','"+sex+"','"+clas.getText()+"','"+scl.getText()+"')"); if(a==1) { JOptionPane.showMessageDialog(s,"已成功添加"); } else { JOptionPane.showMessageDialog(s,"添加失败"); } stmt.close(); } catch(SQLExceptionse) { JOptionPane.showMessageDialog(s,se.getMessage()); } } else { num.setText(""); nam.setText(""); clas.setText(""); scl.setText(""); num.requestFocus(); } } publicstaticvoidmain(String[]args) { AddMsgamg=newAddMsg(); }}添加学生成绩importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.sql.*;publicclassAddscoreextendsJFrameimplementsActionListener{ staticAddscoress; JLabel[]label={newJLabel("学号:"),newJLabel("计算机网络:"),newJLabel("Linux操作系统:"),newJLabel("计算机专业英语:"),newJLabel("计算机信息技术基础:"),newJLabel("Java程序设计:"),newJLabel("数据库应用实训教程:"),newJLabel("高等数学:"),newJLabel("XML:")}; JTextField[]txt={newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField()}; JButtonadd=newJButton("添加"); JButtonreset=newJButton("重置"); JPaneljpl=newJPanel(); JLabeltitle=newJLabel("添加学生成绩",JLabel.CENTER); Fontf=newFont("黑体",Font.BOLD,16); ints=100; publicAddscore() { 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(inti=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); } publicvoidactionPerformed(ActionEvente) { if(e.getSource()==add) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundExceptionce) { JOptionPane.showMessageDialog(ss,ce.getMessage()); } try { Connectioncon=DriverManager.getConnection("jdbc:odbc:sysdb","sa",""); Statementstmt=con.createStatement(); inta=stmt.executeUpdate("insertinto计算机系成绩(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(SQLExceptionse) { JOptionPane.showMessageDialog(ss,se.getMessage()); } } else { for(inti=0;i<txt.length;i++) { txt[i].setText(""); txt[0].requestFocus(); } } } publicstaticvoidmain(String[]args) { Addscoreas=newAddscore(); }}查询学生信息importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.sql.*;publicclassSerchextendsJFrameimplementsActionListener{ /*查询学生信息控件*/ staticSerchs; JPaneljpl=newJPanel(); JLabelSCH=newJLabel("查询学生信息",JLabel.CENTER); JLabellabel1=newJLabel("请输入学号:",JLabel.CENTER); JButtonserch=newJButton("查询"); JLabellabel2=newJLabel("姓名:",JLabel.CENTER); JLabellabel3=newJLabel("班级:",JLabel.CENTER); JLabellabel4=newJLabel("学校:",JLabel.CENTER); JLabellabel5=newJLabel("性别:",JLabel.CENTER); ButtonGroupbgp=newButtonGroup(); JRadioButtonman=newJRadioButton("男"); JRadioButtonwomen=newJRadioButton("女"); JTextFieldnum=newJTextField(); JTextFieldnam=newJTextField(); JTextFieldclas=newJTextField(); JTextFieldscl=newJTextField(); JButtonreset=newJButton("重置"); publicSerch() { 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); } publicvoidactionPerformed(ActionEvente) { Stringid=num.getText(); if(e.getSource()==serch) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundExceptionce) { JOptionPane.showMessageDialog(s,ce.getMessage()); } try { Connectioncon=DriverManager.getConnection("jdbc:odbc:sysdb","sa",""); Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("select*fromSTUwhereID='"+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(SQLExceptionse) { JOptionPane.showMessageDialog(s,se.getMessage()); } } } publicstaticvoidmain(String[]args) { Serchsch=newSerch(); }}查询成绩importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.awt.font.*;importjava.sql.*;publicclassScoreextendsJFrameimplementsActionListener{ staticScores; JLabeltitle=newJLabel("查询成绩",JLabel.CENTER); Fontf=newFont("楷体",Font.BOLD+Font.ITALIC,16); JPaneljpl=newJPanel(); JLabellabel1=newJLabel("请输入学号:",JLabel.CENTER); JTextFieldnum=newJTextField(); JButtonserch=newJButton("查询成绩"); JButtonreset=newJButton("重置"); JLabellabel2=newJLabel("计算机网络:",JLabel.LEFT); JLabellabel3=newJLabel("Linux操作系统:",JLabel.LEFT); JLabellabel4=newJLabel("计算机专业英语:",JLabel.LEFT); JLabellabel5=newJLabel("计算机信息技术基础:",JLabel.LEFT); JLabellabel6=newJLabel("Java程序设计:",JLabel.LEFT); JLabellabel7=newJLabel("数据库:",JLabel.LEFT); JLabellabel8=newJLabel("高等数学:",JLabel.LEFT); JLabellabel9=newJLabel("XML:",JLabel.LEFT); JTextField[]txt={newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField()}; staticintp=140; publicScore() { 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(inti=0;i<txt.length;i++) { txt[i].setBounds(260,p,140,20); jpl.add(txt[i]); p=p+40; } } publicvoidactionPerformed(ActionEvente) { if(e.getSource()==serch)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校教师薪酬绩效考核管理制度
- 青少年发展中心学困生辅导制度
- 公共服务领域道德宣传活动方案
- 吉林大学《量子力学ⅡA》2021-2022学年第一学期期末试卷
- 跨国企业合作协议书
- 房地产项目备案流程工作总结
- 科技公司董事聘任协议书
- 2025届高考化学一轮复习第五章物质结构元素周期律第14讲元素周期表元素周期律练习含解析新人教版
- 2024年内地居民离婚登记常见问题解答
- 安徽省皖中联盟2023-2024学年高二上学期1月期末生物试题 含解析
- 污水处理站过滤罐滤料更换方案
- 摄影基础知识入门与技术.ppt
- 民事案件卷宗目录封面11
- 2022年2022年古籍样式排版模板
- 艺术装饰艺术运动
- 樊登读书会营销策略分析
- 建设单位安全生产管理体系(完整版)
- 国潮风喜迎中秋节传统节日介绍主题班会PPT模板
- 幼儿园参观学校活动方案5篇
- 苏州大学实验报告专用纸
- 盾构施工管片防水材料粘贴作业指导书
评论
0/150
提交评论