




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、实验题目学生管理系统2、实验目的掌握实际开发的步骤。能够熟练开发和学生管理系统相类似的系统。掌握Java中的界面开发。掌握Java中如何连接数据库。3、实验设备及仪器计算机一台,配置有JDK环境4、实验内容编写学生管理系统程序,利用图形界面构造系统的客户端服务界面,连接数据库,使得学生教师能简单方便地对数据进行存储修改5、实验步骤首先确定学生管理系统的用户。学生管理系统的用户基本分为两类,分别是老师和学生。不管是哪种用户都是必须经过登录才能进入学生管理系统的,所以该系统必须有一个登录界面,并且在该界面中能够让用户选择用户是老师还是学生。该系统是不会对外开放的,所以也不存在注册界面。因为用户
2、分为两种,所以每一种用户进行操作的界面应该是不同的。首先是学生界面,在其中应该只有查询成绩和个人信息查询和插入。主要来学习如何进行学生界面开发。除了学生界面外,还要有一个老师界面。老师在老师界面中可以对学生信息进行管理,包括查询、修改和删除。同样也可以对学生的成绩进行管理,包括查询和插入,由于输入错误还要能够对学生的成绩进行修改,由于学生作弊还能够将学生的成绩进行删除。首先数据库中应该有老师和学生这两个表,表中应该最少有用户名和密码两项,使用表中的这两项就可以进行登录。在学生表中还应该具有一些和学籍相关的信息,包括年龄、班级等内容,这样就可以在系统中对学生信息进行操作。除此之外还需要一个成绩表
3、,通过该表老师可以对学生的成绩进行查询、插入、修改和删除。学生也可以通过该表对自己的成绩进行查询。不管是老师和学生进入学生管理系统都是从登录界面进入的。在登录界面中应该是让用户选择自己身份的,然后系统将根据用户的选择来判断用户的身份并进行查询不同的数据库。对界面设计好基本形式后,就可以进行程序开发。首先要定义两个标签和两个文本框,分别来表示用户名和密码。并且还需要定义一个下拉列表让用户来进行身份选择,其中选项包括“学生”和“老师”。在程序的最后还定义了两个按钮,从而让用户输入用户名和密码后进行登录。在学生界面中,学生可以对自己的信息进行查询,在第一次登录时还可以对自己的信息进行插入,并且学生能
4、够查询自己的成绩。因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜单,分别进行信息和成绩的操作。因为对信息的操作包括插入和查询,所以还需要在信息菜单下定义“插入”和“查询”两个子菜单。对界面进行设计后,就可以进行程序开发。同样首先是创建一个窗口,在窗口中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜单。在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,在该界面中学生可以输入自己的信息。学生第一次插入信息后,老师是可以对学生的信息进行修改和删除的。除此之外,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单,单击该菜单就触发
5、事件,从而进入查询学生信息界面。在学生界面中还有一个“成绩”菜单,在学生的界面该菜单下只有一个“查询”子菜单。单击“查询”子菜单,将触发事件,进入到查询成绩界面。6、附录(1)登陆界面importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.sql.*;publicclasssystemsextendsJFrameimplementsActionListenerstaticsystemsss;JPanelpanel=newJPanel();JLabellabell=newJLabel(输入姓名:);JTextF
6、ieldname=newJTextField();JLabellabel2=newJLabel(密码:);JPasswordFieldpwd=newJPasswordField();JButtonEnter=newJButton(登录);JButtonExit=newJButton(退出);Stringurl=D:Systemstitle.jpg;ButtonGroupbgp=newButtonGroup();JRadioButtonstu=newJRadioButton(学生);JRadioButtontch=newJRadioButton(教师);publicsystems()super(
7、登录系统);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.addActio
8、nListener(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
9、.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();tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catc
10、h(ClassNotFoundExceptionce)JOptionPane.showMessageDialog(ss,ce.getMessage();if(stu.isSelected()tryConnectioncon=DriverManager.getConnection(jdbc:odbc:sysdb,sa,);Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery(select*fromSTU);while(rs.next()if(rs.getString(ID).equals(username)&(rs.g
11、etString(Pwd).equals(password)JOptionPane.showMessageDialog(ss,登卩击成功);Studentsstu=newStudents();elseJOptionPane.showMessageDialog(ss,登录失败);rs.close();stmt.close();catch(SQLExceptionse)JOptionPane.showMessageDialog(ss,se.getMessage();elseif(tch.isSelected()tryConnectioncon=DriverManager.getConnection
12、(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,登卩击成功);elseJOptionPane.showMessageDialog(ss,登录失败);catch(SQLExceptionse)JO
13、ptionPane.showMessageDialog(ss,se.getMessage();elseSystem.exit(0);publicstaticvoidmain(Stringargs)systemssys=newsystems();(2)学生界面importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassStudentsextendsJFrameimplementsActionListenerJMenuBarjmb=newJMenuBar();JMenuMessage=newJMenu(信息);JMe
14、nuScore=newJMenu(成绩);JMenuItemIteml=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(Mess
15、age);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();elseS
16、coreso=newScore();publicstaticvoidmain(Stringargs)Studentsstu=newStudents();(3)添加学生信息importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.sql.*;publicclassAddMsgextendsJFrameimplementsActionListenerstaticAddMsgs;/*添加学生信息控件*/JPaneljpl=newJPanel();JLabellabell=newJLabel(添加基本信息,JLabel
17、.CENTER);JLabelIabel2=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=newB
18、uttonGroup();JRadioButtonman=newJRadioButton(男);JRadioButtonwomen=newJRadioButton(女);JTextFieldclas=newJTextField();JTextFieldscl=newJTextField();JButtonreset=newJButton(重置);JButtonaddmsg=newJButton(添加);publicAddMsg()super(添加学生信息);this.setResizable(false);this.setSize(500,400);this.setVisible(true);
19、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.s
20、etBounds(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.se
21、tBounds(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(m
22、an.isSelected()sex=男;elsesex=女;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundExceptionce)JOptionPane.showMessageDialog(s,ce.getMessage();tryConnectioncon=DriverManager.getConnection(jdbc:odbc:sysdb,sa,);Statementstmt=con.createStatement();inta=stmt.executeUpdate(insertintoSTU(ID,
23、Pwd,Name,Sex,Class,Collage)values(+num.getText()+,+12345678,+nam.getText()+,+sex+,+clas.getText()+,+scl.getText()+);if(a=1)JOptionPane.showMessageDialog(s,已成功添加);elseJOptionPane.showMessageDialog(s,添加失败);stmt.close();catch(SQLExceptionse)JOptionPane.showMessageDialog(s,se.getMessage();elsenum.setTex
24、t();nam.setText();clas.setText();scl.setText();num.requestFocus();publicstaticvoidmain(Stringargs)AddMsgamg=newAddMsg();(4)添加学生成绩importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.sql.*;publicclassAddscoreextendsJFrameimplementsActionListenerstaticAddscoress;JLabellabel=newJLabel
25、(学号:),newJLabel(计算机网络:),newJLabel(Linux操作系统:),newJLabel(计算机专业英语:),newJLabel(计算机信息技术基础:),newJLabel(Java程序设计:),newJLabel(数据库应用实训教程:),newJLabel(高等数学:),newJLabel(XML:);JTextFieldtxt=newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextFi
26、eld(),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_CLO
27、SE);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;ilabel.length;i+)labeli.setBounds(100,s,1
28、40,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);publicvoidactionPerformed(ActionEvente)if(e.getSource()=add)tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundExceptionce)JOpti
29、onPane.showMessageDialog(ss,ce.getMessage();tryConnectioncon=DriverManager.getConnection(jdbc:odbc:sysdb,sa,);Statementstmt=con.createStatement();inta=stmt.executeUpdate(insertinto计算机系成绩(SID,计算机网络,Linux操作系统,计算机专业英语,计算机信息技术基础,Java程序设计,数据库应用实训教程,高等数学,Xml)values(+txt0.getText()+,+txt1.getText()+,+txt2.
30、getText()+,+txt3.getText()+,+txt4.getText()+,+txt5.getText()+,+txt6.getText()+,+txt7.getText()+,+txt8.getText()+);if(a=1)JOptionPane.showMessageDialog(ss,添加成功);elseJOptionPane.showMessageDialog(ss,添加失败);catch(SQLExceptionse)JOptionPane.showMessageDialog(ss,se.getMessage();elsefor(inti=0;itxt.length;
31、i+)txti.setText();txt0.requestFocus();publicstaticvoidmain(Stringargs)Addscoreas=newAddscore();(5)查询学生信息importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.sql.*;publicclassSerchextendsJFrameimplementsActionListener/*查询学生信息控件*/staticSerchs;JPaneljpl=newJPanel();JLabelSCH=newJLabel
32、(查询学生信息,JLabel.CENTER);JLabellabell=newJLabel(请输入学号:,JLabel.CENTER);JButtonserch=newJButton(查询);JLabellabel2=newJLabel(姓名:JLabel.CENTER);JLabellabel3=newJLabel(班级:JLabel.CENTER);JLabellabel4=newJLabel(学校:JLabel.CENTER);JLabellabel5=newJLabel(性别:JLabel.CENTER);ButtonGroupbgp=newButtonGroup();JRadioBu
33、ttonman=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.
34、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
35、,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);
36、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
37、Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundExceptionce)JOptionPane.showMessageDialog(s,ce.getMessage();tryConnectioncon=DriverManager.getConnection(jdbc:odbc:sysdb,sa,);Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery(select*fromSTUwhereID=+id+);while(rs.next()na
38、m.setText(rs.getString(Name);if(rs.getString(Sex).equals(男)man.setSelected(true);elsewomen.setSelected(true);clas.setText(rs.getString(Class);scl.setText(rs.getString(Collage);catch(SQLExceptionse)JOptionPane.showMessageDialog(s,se.getMessage();publicstaticvoidmain(Stringargs)Serchsch=newSerch();(6)
39、查询成绩importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.awt.font.*;importjava.sql.*;publicclassScoreextendsJFrameimplementsActionListenerstaticScores;JLabeltitle=newJLabel(查询成绩,JLabel.CENTER);Fontf=newFont(楷体,Font.B0LD+Font.lTALIC,16);JPaneljpl=newJPanel();JLabellabell=newJLabel(请
40、输入学号:,JLabel.CENTER);JTextFieldnum=newJTextField();JButtonserch=newJButton(查询成绩);JButtonreset=newJButton(重置);JLabellabel2=newJLabel(计算机网络:,JLabeLLEFT);JLabellabel3=newJLabel(Linux操作系统:,JLabeLLEFT);JLabellabel4=newJLabel(计算机专业英语:JLabeLLEFT);JLabellabel5=newJLabel(计算机信息技术基础:JLabeLLEFT);JLabellabel6=ne
41、wJLabel(Java程序设计:JLabeLLEFT);JLabellabel7=newJLabel(数据库:,JLabeLLEFT);JLabellabel8=newJLabel(高等数学:JLabeLLEFT);JLabellabel9=newJLabel(XML:,JLabel.LEFT);JTextFieldtxt=newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField();staticin
42、tp=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
43、.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.set
44、Bounds(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;itxt.length;i+)txti.setBounds(260,p,140,2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论