




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、实验题目学生管理系统2、实验目的掌握实际开发的步骤。能够熟练开发和学生管理系统相类似的系统。掌握Java中的界面开发。掌握Java中如何连接数据库。3、 实验设备及仪器计算机一台,配置有JDK环境4、 实验内容编写学生管理系统程序,利用图形界面构造系统的客户端服务界面,连接数据库,使 得学生教师能简单方便地对数据进行存储修改5、 实验步骤(1)首先确定学生管理系统的用户。(2)学生管理系统的用户基本分为两类,分别是老师和学生。不管是哪种用户都是 必须经过登录才能进入学生管理系统的,所以该系统必须有一个登录界面,并且在该界面中能够让用户选择用户是老师还是学生。该系统是不会对外开放的,所以也不
2、存在注册界面。(3)因为用户分为两种,所以每一种用户进行操作的界面应该是不同的。首先是学 生界面,在其中应该只有查询成绩和个人信息查询和插入。主要来学习如何进 行学生界面开发。(4)除了学生界面外,还要有一个老师界面。老师在老师界面中可以对学生信息进 行管理,包括查询、修改和删除。同样也可以对学生的成绩进行管理,包括查 询和插入,由于输入错误还要能够对学生的成绩进行修改,由于学生作弊还能 够将学生的成绩进行删除。(5)首先数据库中应该有老师和学生这两个表,表中应该最少有用户名和密码两项,使用表中的这两项就可以进行登录。在学生表中还应该具有一些和学籍相关的 信息,包括年龄、班级等内容,这样就可以
3、在系统中对学生信息进行操作。(6)除此之外还需要一个成绩表,通过该表老师可以对学生的成绩进行查询、插入、修改和删除。学生也可以通过该表对自己的成绩进行查询。(7)不管是老师和学生进入学生管理系统都是从登录界面进入的。在登录界面中应 该是让用户选择自己身份的,然后系统将根据用户的选择来判断用户的身份并进行查询不同的数据库。(8)对界面设计好基本形式后,就可以进行程序开发。首先要定义两个标签和两个 文本框,分别来表示用户名和密码。并且还需要定义一个下拉列表让用户来进 行身份选择,其中选项包括“学生”和“老师”。在程序的最后还定义了两个 按钮,从而让用户输入用户名和密码后进行登录。(9)在学生界面中
4、,学生可以对自己的信息进行查询,在第一次登录时还可以对自 己的信息进行插入,并且学生能够查询自己的成绩。(10)因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜 单,分别进行信息和成绩的操作。因为对信息的操作包括插入和查询,所以还 需要在信息菜单下定义“插入”和“查询”两个子菜单。(11)对界面进行设计后,就可以进行程序开发。同样首先是创建一个窗口,在窗口 中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜 单。(12)在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,在该界面中学生可以输入自己的信息。(13)学生第一次插入信息后,老师
5、是可以对学生的信息进行修改和删除的。除此之 夕卜,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单, 单击该菜单就触发事件,从而进入查询学生信息界面。(14)在学生界面中还有一个成绩”菜单,在学生的界面该菜单下只有一个查 询”子菜单。单击“查询”子菜单,将触发事件,进入到查询成绩界面。6、附录(1)登陆界面import java.awt.*;im port javax.swing.*;im port java.awt.event.*;import java.sql.*;public class system s extends JFrame implem ents ActionL
6、istenerstatic system s ss;JPanel panel = new JPanel();JLabel label1 = new JLabel(输入姓名:);JTextField nam e = new JTextField();JLabel label2 = new JLabel(密 码:,JPasswordField pwd = new JPasswordField();JButton Enter = new JButton(登录);JButton Exit = new JButton(退出);String url = D:System stitle.jpg;Button
7、Group bgp = new ButtonGroup();JRadioButton stu = new JRadioButton(学生);JRadioButton tch = new JRadioButton(教师);public system s()(super(登录系统);this.setResizable(false);JLabel img = new JLabel(new Imagelcon(url);im g.setBounds(0,0,500,100);panel.add(img);stu.setBounds(165,210,70,20);tch.setBounds(265,21
8、0,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(l
9、abe l1);nam e.setBounds(265,130,100,25);panel.add(nam e);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 actionPerform ed( ActionEvent
10、 e)(if(e.getSource()=Enter)(String usernam e , password;usernam e = nam e.getText();password = pwd.getText();try(Class.forNam e( sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) JOptionPane.showMessageDialog(ss,ce.getMessage();if(stu.isSelected()tryConnectioncon=DriverManager.getConn
11、ection(jdbc:odbc:sysdb”,sa”,);Statem ent stmt = con.createStatem ent();ResultSet rs = stmt.executeQuery(select * from STU); while(rs.next() if(rs.getString(ID).equals(username)& (rs.getString(Pwd).equals(p assword)JOptionPane.showMessageDialog(ss,”登陆成 功);Students stu = new Students(); else JOpti
12、onPane.showMessageDialog(ss,”登录失 败,rs.close();stmt.close();catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage();else if(tch.isSelected()tryConnectionDriverManager.getConnection(jdbc:odbc:systchdb”,sa”,);Statem ent stmt = con.createStatem ent();ResultSet rs = stm t.executeQuery(sel
13、ect * from TCH); while(rs.next() if(rs.getString(ID).equals(username)& (rs.getString(Pwd).equals(p assword)JOptionPane.showMessageDialog(ss,”登陆成 功); else conJOptionPane.showMessageDialog(ss,”登录失 败,catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage();elseSystem .exit(0);public
14、static void m ain(String args)system s sys = new system s();(2)学生界面im port java.awt.*;im port javax.swing.*;im port java.awt.event.*; public class Students extends JFrame implements ActionListener (JMenuBar jm b = new JMenuBar();JMenu Message = new JMenu(信息);JMenu Score = new JMenu(成绩);JMenuItemItem
15、 1 =new JMenuItem(插入);JMenuItemItem 2 =new JMenuItem(查询);JMenuItemItem 3 =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);Mes
16、sage.add(Item 1);Message.add(Item 2);Score.add(Item 3);Item 1.addActionListener(this);Item 2.addActionListener(this);Item 3.addActionListener(this);public void actionPerform ed( ActionEvent e)(if(e.getSource()=Item 1)(AddMsg ad = new AddMsg();else if(e.getSource()=Item 2)(Serch ser = new Serch();els
17、e(Score so = new Score(); public static void m ain(String args)Students stu = new Students();添加学生信息import java.awt.*;im port javax.swing.*;im port java.awt.event.*;import java.sql.*;public class AddMsg extends JFram (static AddMsg s;/*添加学生信息控件*/e implem ents ActionListenerpublic AddMsg()(super(添加学生信
18、息,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(labe l1);label2.setBounds(100,50,
19、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 );JPanel jpl = new JPanel();JLabellabel1=newJLabel(JLabellabel2=newJLabel(JLabellabel3=newJLabel(JLabellabel4=newJLabel(JLabel label5 = new JL
20、abel(JLabellabel6=newJLabel(JTextField num添加基本信息”,JLabel.CENTER);学号:姓名:性别:班级:学院:”,JLabel.CENTER);”,JLabel.CENTER);”,JLabel.CENTER);”,JLabel.CENTER);,JLabel.CENTER);=new JTextField(2);JTextField nam = new JTextField(4);ButtonGroup bgp = new ButtonGroup();JRadioButton m an = new JRadioButton(男);JRadio
21、Button wom en = new JRadioButton(女);JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton(重置);JButton addmsg = new JButton(添加);label4.setBounds(100,130,70,20);jpl.add(label4);man.setBounds(190,130,60,20);wom en.setBounds(270,130,60,20);jpl.add( man);jpl.add
22、(wom en);bgp.add( man);bgp.add(wom en);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)
23、;jpl.add(addmsg);public void actionPerform ed( ActionEvent e) if(e.getSource()=addm sg)String sex;if( man.isSelected()sex=男; elsetry(Class.forNam e( sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException ce)(JOptionPane.showMessageDialog(s,ce.getMessage();try(stmt.close();catch (SQLException se
24、)(JOptionPane.showMessageDialog(s,se.getMessage();else (num .setText();nam .setText();clas.setText();scl.setText();num .requestFocus();public static void m ain(String args)(ConnectionconDriverManager.getConnection(jdbc:odbc:sysdb”,sa”,);Statem ent stmt = con.createStatem int a = stmt.executeUpdate(i
25、nsert Sex,Nam eent();intoSTU(ID , Pwd ,Class,Collage)values(”+num.getText()+,”+12345678,”+nam+sex+,”+clas.getText()+,”+scl.getText()+);if(a=1)(JOptionPane.showMessageDialog(s, else (JOptionPane.showMessageDialog(s,.getText()+,已成功添加,添加失败,AddMsg amg = new AddMsg();(4)添加学生成绩import java.awt.*;im port ja
26、vax.swing.*;im port 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(计算机信息技 术基础:),newJLabel(Java程序设计:),new JLabel(数据库应用实训教
27、程:”),new JLabel(高等数学:”),new JLabel( XML : );JTextField txt = (new JTextField() , new JTextField() , new JTextField(), new JTextField() , newJTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() ;JButton add = new JButton(添加);JButton reset = new JButton(重置);JPanel jpl
28、= 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);
29、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(
30、txti);s=s+40;add.setBounds(150,s,80,20);reset.setBounds(250,s,80,20);jpl.add(add);jpl.add(reset);public void actionPerform ed( ActionEvent e) if(e.getSource()=add)tryClass.forNam e( sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException ce)JOptionPane.showMessageDialog(ss,ce.getMessage(); try C
31、onnectionconDriverManager.getConnection(jdbc:odbc:sysdb,sa,); Statem ent stmt = con.createStatem ent();int a = stmt.executeUpdate(insert into计算机系成 绩(SID ,计算机网络,Linux操作系统,计算机专业英语,计算机信息技术基础Java程序设计,数据库应用实训教程,高等数学Xml)values(”+txt0.getText()+,”+txt1.getText()+,”+txt2.getText( )+,”+txt3.getText()+,”+txt4
32、.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();else(for(int i = 0 ; itxt.length ; i+)(txti.setText();txt0
33、.requestFocus();public static void m ain(String args)(Addscore as = new Addscore();(5)查询学生信息import java.awt.*;im port javax.swing.*;im port java.awt.event.*;import java.sql.*;public class Serch extends JFrame implements ActionListener (/*查询学生信息控件*/static Serch s;JPanel jpl = new JPanel();JLabel SCH
34、= new JLabel( JLabellabel1 = new JLabel( JButton serch= new JButton( JLabel label2 = newJLabel(JLabellabel3=newJLabel(JLabellabel4=newJLabel(JLabellabel5=newJLabel(ButtonGroup bgp = new ButtonGroup();JRadioButton m an = new JRadioButton(男);JRadioButton wom en = new JRadioButton(女);JTextField num = n
35、ew JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();查询学生信息”,JLabel.CENTER);请输入学号:”,JLabel.CENTER);查询);姓名:班级:学校:性别:”,JLabel.CENTER);”,JLabel.CENTER);”,JLabel.CENTER);”,JLabel.CENTER);JTextField scl = new JTextField();JButton reset = new JButton(重置);public Serch()this.
36、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(
37、labe l1);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(
38、205,180,60,20);wom en.setBounds(285,180,60,20);bgp.add( man);bgp.add(wom en);jpl.add( man);jpl.add(wom en);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
39、void actionPerform ed( ActionEvent e)Stringid=num.getText();if(e.getSource()=serch)tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundExceptionce) JOptionPane.showMessageDialog(s,ce.getMessage(); try ConnectionconDriverManager.getConnection(jdbc:odbc:sysdb”,sa”,); Statem ent stmt = co
40、n.createStatem ent();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 wom en.setSelected(true); clas.setText(rs.getString(Class);scl.setText(rs.getString(Collage); catch (S
41、QLException se) JOptionPane.showMessageDialog(s,se.getMessage();public static void m ain(String args)Serch sch = new Serch();查询成绩im port java.awt.*;im port javax.swing.*;im port java.awt.event.*;im port java.awt.font.*;im port java.sql.*;public class Score extends JFrame implem ents ActionListener s
42、tatic 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 J
43、Label(计算机网络:”,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(
44、高等数学:”,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(查询分数);this.setResizable(false);t
45、his.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(labe l1);num .setBounds(210,60,140,20);jpl.add(num );serch.setBounds(
46、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)
47、;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 actionPerform ed( ActionE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年CPSM课程设置试题及答案
- 2025年度知识产权代管正规委托协议
- 二零二五年度儿童游乐设施安全责任赔偿合同模板
- 二零二五年度店铺转让定金及后续售后服务保障合同
- 2025年度智能旅店客房租赁与智能化升级合同
- 2025年度正规庆典活动活动赞助商权益兑换与使用合同
- 二零二五年度三年期劳动合同涨薪与员工福利保障协议
- 二零二五年度康复医院陪护人员雇佣与培训协议
- 二零二五年度兼职IT技术支持劳动合同规范
- 二零二五年度光伏项目施工人员劳务合同
- 《 大学生军事理论教程》全套教学课件
- 中考数学计算题练习100道(2024年中考真题)
- 外研版(2019) 必修第二册 Unit 5 On the road Coast to Coast P57PPT( 共8张)
- 罗马帝国衰亡史pdf罗马帝国衰亡史史
- 北师大版生物七年级下册12.2感受器与感觉器官(第1课时)导学案(无答案)
- 最新露天矿山安全培训课件(经典)
- 环境学概论 考验知识点归纳刘陪同
- 室内设计施工图详细说明及制图规范说明ppt(智囊书屋)
- 贵州水城矿业集团马场煤矿“3.12”煤与瓦斯突出事故分析(定)
- 剧本杀_剧本推荐——四人本《暗船》
- 质量保证体系结构图(共3页)
评论
0/150
提交评论