JAVA学生管理系统实训报告
JAVA学生信息管理系统实验报告
JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。
Java学生管理系统实验报告
学生管理系统实验报告学期:2018-2019课程名称:《Java程序设计实验》一、实验目的1.掌握JDK的安装与环境变量的配置,熟练使用Eclipse、WindowBulider插件、navicat和MySql。
2.熟练掌握Java基础语法与程序结构,了解面向对象的编程思想,掌握封装、构造方法和访问权限。
3.理解继承的概念和意义,掌握继承关系。
4.理解接口的概念和意义,掌握实现接口的方法。
5.掌握异常处理的方法。
6.掌握Java Swing,学会创建GUI界面,熟练使用MVC结构,掌握事件处理。
7.掌握MySql基础语句,操作MySql数据库。
二、实验内容a.管理系统功能1.实现登录界面与相应功能。
用户填写正确账号与密码并选择用户身份后即可实现登陆并跳转至主界面。
2.实现主界面与相应功能。
此界面功能包括学生管理、成绩管理、教师管理、系统设置和帮助。
其中系统设置包括修改密码,退出账号和关闭系统。
帮助包括关于作者、版本信息和意见反馈。
3.实现管理学生界面与相应功能。
可对学生信息进行添加、查询、修改和删除的操作。
4.实现管理成绩界面与相应功能。
可查询到学生并对其成绩信息进行编辑。
5.实现管理教师界面与相应功能。
可对教师信息进行添加、查询、修改和删除的操作。
6.实现修改密码界面与相应功能。
7.实现用户权限功能。
管理员权限为最高,可操作本系统所有功能。
学生可查看、修改自己的信息,查看自己的成绩,但不得添加、查询、删除他人信息与成绩。
教师可查看、修改自己的信息,查询、编辑学生的成绩信息,但不得添加、修改、删除学生信息,不得添加、查询、修改、删除其他教师信息。
8.实现退出账号、关闭系统、关于作者、版本信息、意见反馈和显示当前用户信息功能。
b.设计思路1.利用WindowBuilder插件可视化编写GUI界面。
2.利用MySql数据库保存学生、教师和管理员的信息,并用navicat管理数据库。
使用MVC框架,有以下几个包:model包(模型)、view包(视图)、images包(图像)、util包(自己定义的工具)、dao包(面向对象的数据库接口)。
java学生信息管理系统实验报告(共10篇)
java学生信息管理系统实验报告(共10篇)JAVA学生信息管理系统实验报告JAVA程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK1.6,my eclipse或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args){FirstWindow win =new FirstWindow(学生信息管理系统); }}class FirstWindow extends JFrame implements ActionListener {JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17; public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel(欢迎使用学生管理系统,JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu(使用);menu2=new JMenu(用户管理);menu3=new JMenu(帮助);menu4=new JMenu(退出);a11=new JMenuItem(管理员登录);a12=new JMenuItem(查询学生信息);a13=new JMenuItem(更改学生信息);a14=new JMenuItem(删除学生信息);a15=new JMenuItem(添加学生信息);a16=new JMenuItem(超级管理员登录);篇二:java学生成绩管理系统实验报告JAVA课内实验报告学生成绩管理系统一. 实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。
学生管理系统JAVA实验报告
实验报告学生信息管理系统学号:XXXXXXXX:XXXXXX班级:XXXXXXXXXXXXXXX摘要本文着重阐述了“学生信息管理系统”的开发过程。
对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。
AbstractThis article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at the same time, to more clearly show that design thinking and the whole process of planning and design of concrete realization.This system has many features: system fully functional, easy to use simple user-friendly user interface, complete security settings, greatly reducing the operators and users of the burden and improve the efficiency of the management of students and school information Level.1.实验目的:编写学生信息管理系统程序:(1)基本要求:学生信息(包括学号、、性别、年龄、家庭住址、电话等)的添加,删除,修改,查询(包括按学号,按姓名等查询)。
java程序设计实习报告---学生信息管理系统的设计与开发
《Java程序设计》实习报告2010年6月20号目录一、实习题目 (2)二、实习目的 (2)1、社会需求 (2)2、专业需求 (2)三、开发环境 (2)四、实习内容 (3)1、系统功能需求 (3)2、数据库需求 (4)五、设计过程 (4)1、总体设计 (4)2、详细设计 (5)六、调试过程 (5)七、实习小结 (5)八、参考资料 (6)一、实习题目学生信息管理系统的设计与开发二、实习目的1、社会需求一直以来学生的成绩管理是学校工作中的一项重要内容,随着办学规模的扩大和招生人数的增加,学校工作繁杂、资料重多,普通的成绩管理已不能适应时代的发展,它浪费了许多的人力和物力。
在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。
虽然管理信息系统已进入高校,但还未普及而且对于学生成绩管理来说,还没有一套完整的、统一的系统,建立一个成绩维护系统是非常必要的。
建立学生成绩管理系统,采用计算机对学生成绩进行管理,能进一步提高办学效益和现代化水平。
帮助广大教师提高工作效率,实现学生成绩维护工作流程的系统化、规范化和自动化。
2、专业需求《Java程序设计》课程是电子商务专业的一门专业必修课程,通过java实习不仅可以提升本专业我们对此课程中的理论知识的综合应用能力而且可以提高我们的逻辑思维能力、软件开发能力。
我们通过Java技术在Windows平台下开发学生信息管理系统。
能够切实提高我们的程序设计水平,在实践中掌握面向对象程序设计的开发思想。
三、开发环境操作系统;Windows XP编程环境:MyEclipse 6.0主要技术:Java Swing实现窗体界面JDBC实现数据库操作系统架构:三层架构(MVC)+DAO设计模式数据库:MySQL5.0四、实习内容1、系统功能需求学生信息管理系统主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。
JAVA学生信息管理系统实验报告
JAVA学生信息管理系统实验报告一、实验目的1. 掌握Java面向对象编程思想;2. 熟悉Java GUI编程基本知识;3. 熟悉Java文件读写操作;4.培养实际问题分析及解决能力。
二、实验要求设计并实现一个Java学生信息管理系统,具备以下功能:1.界面要简洁、美观,方便用户操作;2.能够实现学生信息的录入、查询、修改、删除和展示功能;3.学生信息至少包括学号、姓名、性别、年龄、院系等基本信息;4.学生信息的存储要求使用文件保存。
三、实验设计1. 界面设计:使用Java Swing库设计界面,包括菜单栏、工具栏、按钮、文本框等组件,通过布局管理器实现界面的合理布局;2. 文件读写操作:使用Java的文件读写类实现学生信息的读取、保存和更新,例如使用FileReader、FileWriter等类;3. 数据结构设计:定义一个学生类,包含学号、姓名、性别、年龄、院系等成员变量,实现get和set方法;4.功能实现:根据用户的操作,实现学生信息的录入、查询、修改、删除等功能。
四、实验步骤1.创建项目并导入相关库文件;2.创建学生类,定义学生的基本信息和操作方法;3.创建主界面,包括菜单栏、工具栏、按钮等组件,并设置布局管理器;4.编写界面事件监听器,实现按钮的点击响应;5.实现学生信息录入功能,包括将信息写入文件;6.实现学生信息查询功能,读取文件中的学生信息并展示;7.实现学生信息修改和删除功能,更新文件中的学生信息;8.编写实验报告。
五、实验结果成功实现了Java学生信息管理系统,具备录入、查询、修改和删除功能。
主界面简洁美观,用户操作便捷。
学生信息存储在文件中,可以进行读写操作。
六、实验心得通过这次实验,我进一步熟悉了Java面向对象编程思想和GUI编程基本知识。
实践中,我遇到了一些问题,例如界面布局、事件监听和文件读写等方面,但通过查找资料和反复调试,最终解决了这些问题。
通过这个实验,我对Java的掌握程度更加深入了解,提高了实际问题分析及解决能力。
学生管理系统的JAVA实验报告.doc
学生管理系统的JA V A实验报告。
实验报告学生信息管理系统学生编号:XXXXXXXX姓名: XXXXXX级:本文重点介绍了“学生信息管理系统”的开发过程。
详细描述了设计思想和设计过程,详细说明了数据库创建思想和各数据表之间的具体关联,并详细分析了系统各功能的实现过程和详细设计过程。
在绘制简单的系统功能模块图的同时,力图更清晰地展示整个学生模块程序设计的设计思想、规划和具体实现过程。
这个系统有许多特点:该系统功能齐全,用户界面方便简单,安全保密设置齐全,大大减轻了操作人员和用户的工作量,提高了学生管理的工作效率和学校的信息化水平。
姓名:XXXXXX级:本文重点介绍了“学生信息管理系统”的开发过程。
详细描述了设计思想和设计过程,详细说明了数据库创建思想和各数据表之间的具体关联,并详细分析了系统各功能的实现过程和详细设计过程。
在绘制简单的系统功能模块图的同时,力图更清晰地展示整个学生模块程序设计的设计思想、规划和具体实现过程。
这个系统有许多特点:该系统功能齐全,用户界面方便简单,安全保密设置齐全,大大减轻了操作人员和用户的工作量,提高了学生管理的工作效率和学校的信息化水平。
(1)基本要求:学生信息(包括学生编号、姓名、性别、年龄、家庭住址、电话号码等)的添加、删除、修改和查询。
)。
(2)提出要求(根据你自己的情况):可以添加类信息(也可以删除或修改类)。
学生信息包括班级信息,学生可以按班级统计。
简单的统计、按性别统计等。
描述: 这个程序需要一个图形界面来实现。
2.系统-学生信息的添加、删除、修改和查询(包括学生编号、姓名、性别、年龄、家庭地址、电话号码等)。
)(包括按学生编号、姓名等查询。
)。
(2)提出要求(根据你自己的情况):可以添加类信息(也可以删除或修改类)。
学生信息包括班级信息,学生可以按班级统计。
简单的统计、按性别统计等。
描述: 这个程序需要一个图形界面来实现。
2.系统:\ \ \ ');int n=scanner . Nextint();while(n!=6) { if(n==1) stu。
基于Java的学生管理系统设计实验报告
河北工业大学《Java程序设计》课程设计报告-----学生信息管理系统的设计与实现班级:软件Z102班******学号:******指导教师:***目录1 前言 (1)2 系统功能 (1)2.1 运行环境 (1)2.2 操作说明 (1)3 系统流程图 (2)4 程序调试及参数设置 (3)4.1 系统首页 (3)4.2 登录界面 (3)4.3 用户界面 (5)4.4 管理员界面 (5)4.5 信息界面 (6)4.6 添加信息界面 (6)5 程序 (7)6 结论 (9)7 参考文献 (9)1 前言随着计算机的发展及网络技术的应用,当今社会正快速向信息化前进,信息自动化的作用也越来越大。
学生信息管理对于学校的管理者来说至关重要,并且是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。
随着高校对招生规模的不断扩大,学生数量的急剧增加,面对庞大数据量,单纯的依赖人工的管理方式已不能适应各学校的管理需求,而作为计算机应用的一部分,使用计算机对学生信息进行管理有着手工管理无法比拟的优点,传统的手工管理既不易于规范化,管理效率也不高同时浪费大量的人力和物力,而学生管理系统在很大程度上能够弥补手工管理的不足,例如:学生管理系统能够达到检索迅速、查找简便、可靠性强、存储量大、保密性好等这些优点能够极大地提高工作效率,也是学校科学性、正规化管理的重要条件。
2 系统功能2.1 运行环境硬件环境:java是跨平台的,对操作系统没有要求,它由两个部分组成:一个是Java Virtual Machine即Java虚拟机,另一部分是Java Application Programming Interface (Java API) 即Java应用程序设计接口,这两部份软件就构成了Java运行的基本的环境。
软件环境:该系统是一个小型的学生信息管理系统,其应用的开发环境为JCreatorLE,使用Java开发语言,并使用SQL Server2005作为后台数据库,并采用JDBC连接数据库的方法连接数据库。
java教务系统实习报告
java教务系统实习报告Java 教务系统实习报告在大学的学习生涯中,实习是一个重要的环节,它不仅能够让我们将所学的理论知识应用到实际工作中,还能让我们提前了解职场环境,积累工作经验。
我有幸在实习公司名称进行了为期X个月的 Java 教务系统开发实习。
通过这次实习,我对 Java 编程、数据库管理以及软件开发流程有了更深入的理解和认识。
一、实习单位及岗位介绍实习公司名称是一家专注于教育信息化领域的企业,致力于为学校和教育机构提供高质量的教务管理解决方案。
我所在的实习岗位是Java 开发工程师,主要负责参与公司教务系统的开发和维护工作。
二、实习目的1、通过实践加深对 Java 编程语言的理解和掌握,提高编程能力。
2、熟悉软件开发流程,包括需求分析、设计、编码、测试和维护等环节。
3、学习数据库设计和管理,掌握与 Java 结合的数据库操作技术。
4、培养团队合作精神和沟通能力,提高解决问题的能力。
三、实习内容及成果(一)系统需求分析在实习初期,我参与了教务系统的需求分析工作。
与项目团队一起,与学校的教务管理人员进行沟通,了解他们的业务流程和需求。
通过需求调研和分析,明确了教务系统需要实现的功能,如学生信息管理、课程管理、成绩管理、教学计划管理等。
同时,还对系统的性能、安全性和用户体验等方面提出了要求。
(二)系统设计在需求分析的基础上,参与了教务系统的设计工作。
包括系统架构设计、数据库设计和模块设计等。
在系统架构设计方面,采用了基于B/S 架构的三层架构模式,即表示层、业务逻辑层和数据访问层。
在数据库设计方面,根据系统的需求,设计了合理的数据库表结构,包括学生表、课程表、成绩表、教师表等,并建立了相应的索引和约束,以提高数据库的性能和数据的完整性。
在模块设计方面,将系统划分为多个功能模块,每个模块具有相对独立的功能,便于开发和维护。
(三)编码实现在系统设计完成后,开始进行编码实现工作。
主要使用 Java 语言和相关的开发框架,如 Spring、Spring MVC、MyBatis 等,进行系统的开发。
java学生管理系统实训报告
Java学生管理系统实训报告学号:姓名:班级:指导老师:一、项目计划(1)项目名称:学生信息管理系统(2)实训地点:(3)小组成员:二、系统总体设计(1)需求分析学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。
通过实际调查,要求学生信息管理系统具有以下功能:1.界面设计美观大方,方便,快捷,操作灵活。
2.实现强大的学生个人信息,课程信息,成绩信息的查询,修改,录入,删除管理。
3.实现强大的联系人信息及其类别的查询,录入,删除管理。
4.能够在不同的的操作系统下运行,不局限于特定的平台。
5.提供数据库备份与恢复功能。
6.提供友情平台,例如:计算机,方便对成绩的操作;(2)项目计划安排一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。
有计划、有步骤地进行软件开发,除了可以提高开发进度外,更能明确项目组各成员之间的职责及任务。
项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。
(3)概要设计概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。
概要设计要坚持以下几个原则:1:细分原则2:提高代码重用性:3:从上而下层层分析4:一致性原则5:提高独立性6:模块的大小要尽量适中。
由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。
现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。
(4)详细设计概要设计是为了明确开发人员的工作步骤和工作目标。
详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。
学生管理系统实训报告(java语言)
《Java实训》设计报告学生管理系统一、项目需求通过与科信学院教务人员的详细交流,目标系统具备以下功能。
1. 教师客户端功能* 可以更改密码;* 可以添加学生,并要求填写学生基本信息;* 可以根据学号查询学生基本信息及其成绩;* 有权限控制,每个管理员只能管理其所在学院的信息;* 可以添加新课程、新班级;* 可以控制选课的课程范围,并可以控制选课的时间,即:可以控制选课开始和结束时间;* 可以录入成绩,缓存成绩,检查无误后公布成绩。
2. 学生客户端功能* 学生可以查看自己的基本信息;* 学生可以查看自己的成绩,已修学分和不及格成绩信息;* 学生端可以进行远程选课,并且可以查看课表。
根据以上相关功能,现规划数据流图和数据字典如下:二、项目设计在设计学生管理系统时,编写20个Java源文件:ChangePwd.java、ChangePwdTeacher.java、ChoseCourse.java、CourseTable.java、CourseManage.java、GetScore.java、GetStuInfo.java、GradeInDB.java、Login.java、NewClass.java、NewCourse.java、NewStu.java、StuClient.java、StuFailGrade.java、StuGrade.java 、StuInfo.java、StuScore.java、TeacherClient.java、TeachSearchInfo.java、Welcome.java学生管理系统除了上述20个Java源文件所给出的类外,还需要Java系统提供的一些重要类,如JButton,JTextField,JTextArea,LinkedList等。
下面是20个Java源文件的功能:(1)Login.java(主类)Login类负责创建学生管理系统登陆界面的主窗口,该类含有main方法,学生管理系统从该类开始执行。
学生管理系统实验报告
学生管理系统实验报告一、实验目的: 学习学生管理系统java程序编程、编写学生管理系统程序。
二、实验环境: 在软件Eclipse运行环境下运行1.实验步骤:2.在Eclipse环境中创建一个java工程, 然后创建学生管理系统类, 并在这类中编写代码。
3.调试代码, 并进行纠正。
4.检验试验结果, 查看是否符合要求。
5.得到结果。
实验内容代码:import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsglxt extends JFrame implements ActionListener { JPanel mb1,mb2;JLabel bq1;JTextField wbk1;JButton an1,an2,an3,an4;JTable bg1;JScrollPane gd1;Xsxx xsxx2;public static void main(String[] args){Xsglxt xs=new Xsglxt();}public Xsglxt(){mb1=new JPanel();bq1=new JLabel("请输入姓名");wbk1=new JTextField(10);an1=new JButton("查询");an1.addActionListener(this);an1.setActionCommand("chaxun");mb1.add(bq1);mb1.add(wbk1);mb1.add(an1); mb2=new JPanel();an2=new JButton("添加");an2.addActionListener(this);an2.setActionCommand("tianjia");an3=new JButton("修改");an3.addActionListener(this);an3.setActionCommand("xiugai");an4=new JButton("删除");an4.addActionListener(this);an4.setActionCommand("shanchu");mb2.add(an2);mb2.add(an3);mb2.add(an4);xsxx2=new Xsxx();bg1=new JTable(xsxx2);gd1=new JScrollPane(bg1);this.add(gd1);this.add(mb1,"North");this.add(mb2,"South");this.setTitle("学生管理系统");this.setSize(500,400);this.setLocation(201,181);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("chaxun")){String xingming=this.wbk1.getText().trim();String sql="select * from xuesheng where xingming='"+xingming+"'";xsxx2=new Xsxx(sql);bg1.setModel(xsxx2);else if(e.getActionCommand().equals("tianjia")){Tianjia tj=new Tianjia(this,"添加学生信息",true);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);}else if(e.getActionCommand().equals("xiugai")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this,"请选中要删除的行");return;}new Xiugai(this,"修改学生信息",true,xsxx2,ii);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);else if(e.getActionCommand().equals("shanchu")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this, "请选中要删除的行");return;}String st=(String)xsxx2.getValueAt(ii,0);PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sn=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");//String xuehao=this.wbk1.getText().trim();ps=ct.prepareStatement("delete from xuesheng where xuehao=?");ps.setString(1, st);ps.executeUpdate();}catch(Exception c2){e.paramString();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}}catch(Exception e3){}}xsxx2=new Xsxx();bg1.setModel(xsxx2);}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xiugai extends JDialog implements ActionListener { JLabel bq1, bq2, bq3, bq4, bq5, bq6;JTextField wbk1, wbk2, wbk3, wbk4, wbk5, wbk6;JButton an1, an2;JPanel mb1, mb2, mb3, mb4;public Xiugai(Frame fck, String ckm, Boolean msck, Xsxx xsxx2, int hang) {super(fck, ckm, msck);bq1 = new JLabel(" 学号");bq2 = new JLabel(" 姓名");bq3 = new JLabel(" 性别");bq4 = new JLabel(" 年龄");bq5 = new JLabel(" 籍贯");bq6 = new JLabel(" 院系");wbk1 = new JTextField(5);wbk1.setText((String) xsxx2.getValueAt(hang, 0));wbk1.setEditable(false);wbk2 = new JTextField(5);wbk2.setText((String) xsxx2.getValueAt(hang, 1));wbk3 = new JTextField(5);wbk3.setText((String) xsxx2.getValueAt(hang, 2)); wbk4 = new JTextField(5);wbk4.setText((String) xsxx2.getValueAt(hang, 3)); wbk5 = new JTextField(5);wbk5.setText((String) xsxx2.getValueAt(hang, 4)); wbk6 = new JTextField(5);wbk6.setText((String) xsxx2.getValueAt(hang, 5));an1 = new JButton("修改");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2 = new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1 = new JPanel();mb2 = new JPanel();mb3 = new JPanel();mb4 = new JPanel();mb1.setLayout(new GridLayout(6, 1));mb2.setLayout(new GridLayout(6, 1));mb1.add(bq1);mb1.add(bq2);mb1.add(bq3);mb1.add(bq4);mb1.add(bq5);mb1.add(bq6);mb2.add(wbk1);mb2.add(wbk2);mb2.add(wbk3);mb2.add(wbk4);mb2.add(wbk5);mb2.add(wbk6);mb3.add(an1);mb3.add(an2);this.add(mb1, BorderLayout.WEST); this.add(mb2);this.add(mb3, BorderLayout.SOUTH); this.add(mb4, BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 261);this.setResizable(false);//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;System.out.println("00000000000");try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");System.out.println("1111111111");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");System.out.println("222222222222");String ss=("update xuesheng set xingming=?,xingbie=?,nianling=?,jiguan=?,yuanxi=? where xuehao='"+wbk1.getText().trim()+"'");ps=ct.prepareStatement(ss);ps.setString(1, wbk2.getText());ps.setString(2, wbk3.getText());ps.setString(3, wbk4.getText());ps.setString(4, wbk5.getText());ps.setString(5, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e1) {e1.printStackTrace();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsxx extends AbstractTableModel {Vector ziduan,jilu;PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;public int getRowCount(){return this.jilu.size();}public int getColumnCount(){return this.ziduan.size();}public Object getValueAt(int hang,int lie){return (((Vector) this.jilu.get(hang)).get(lie)); }public Xsxx(){this.sqlyj("select * from xuesheng");}public Xsxx(String ss){this.sqlyj(ss);}public String getColumnName(int e)return (String)this.ziduan.get(e);}public void sqlyj(String sql){ziduan=new Vector();ziduan.add("学号");ziduan.add("姓名");ziduan.add("性别");ziduan.add("年龄");ziduan.add("籍贯");ziduan.add("所在院系");jilu=new Vector();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");ps=ct.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){Vector hang=new Vector();hang.add(rs.getString(1));hang.add(rs.getString(2));hang.add(rs.getString(3));hang.add(rs.getString(4));hang.add(rs.getString(5));hang.add(rs.getString(6));jilu.add(hang);}}catch (Exception e){e.printStackTrace();} finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e){} }}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Tianjia extends JDialog implements ActionListener{ JLabel bq1,bq2,bq3,bq4,bq5,bq6;JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6;JButton an1,an2;JPanel mb1,mb2,mb3,mb4;public Tianjia(Frame fck,String ckm,Boolean msck){super(fck,ckm,msck);bq1=new JLabel(" 学号");bq2=new JLabel(" 姓名");bq3=new JLabel(" 性别");bq4=new JLabel(" 年龄");bq5=new JLabel(" 籍贯");bq6=new JLabel(" 院系");wbk1=new JTextField(5);wbk2=new JTextField(5);wbk3=new JTextField(5);wbk4=new JTextField(5);wbk5=new JTextField(5);wbk6=new JTextField(5);an1=new JButton("添加");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2=new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1=new JPanel();mb2=new JPanel();mb3=new JPanel();mb4=new JPanel();mb1.setLayout(new GridLayout(6,1));mb2.setLayout(new GridLayout(6,1));mb1.add(bq1); mb1.add(bq2); mb1.add(bq3);mb1.add(bq4); mb1.add(bq5); mb1.add(bq6);mb2.add(wbk1); mb2.add(wbk2); mb2.add(wbk3);mb2.add(wbk4); mb2.add(wbk5); mb2.add(wbk6);mb3.add(an1); mb3.add(an2);this.add(mb1,BorderLayout.WEST);this.add(mb2);this.add(mb3,BorderLayout.SOUTH);this.add(mb4,BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 281);this.setResizable(false);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");String ss=("insert into xuesheng values(?,?,?,?,?,?)");ps=ct.prepareStatement(ss);ps.setString(1, wbk1.getText());ps.setString(2, wbk2.getText());ps.setString(3, wbk3.getText());ps.setString(4, wbk4.getText());ps.setString(5, wbk5.getText());ps.setString(6, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e2){}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}实验小结:实验原道的问题是刚开始时程序只能查询不能添加修改删除等, 经过老师指导后修改程序后, 程序就能完成各项操作了。
学生管理系统java课程报告总结
学生管理系统java课程报告总结学生管理系统是一种用于管理学生、课程、成绩等信息的软件系统,对于学校、教育机构等机构来说非常重要。
本次课程中,我们学习了Java语言和相关技术,其中包括Spring框架、MyBatis框架、MySQL数据库等,最终设计并实现了一个简单的学生管理系统。
本文将总结本次课程中学到的知识,包括系统设计、数据库设计、Java技术栈等方面的内容。
一、系统设计在学生管理系统的设计中,我们需要考虑到系统的功能、用户权限、数据模型等方面。
本次课程中,我们学习了如何使用Spring框架来实现依赖注入、泛型、方法级别的缓存等方面的内容,这些技术可以帮助我们更好地设计系统,提高系统的稳定性和可扩展性。
二、数据库设计在学生管理系统的设计中,我们需要考虑到数据的存储方式。
本次课程中,我们学习了如何使用MyBatis框架来实现持久层编程,包括数据访问层的映射、事务的隔离级别等方面的内容。
同时,我们还学习了如何使用Spring框架提供的JDBC技术来进行数据操作,这些技术可以帮助我们更好地控制数据的流动,提高系统的性能和安全性。
三、Java技术栈在学生管理系统的设计中,我们需要考虑到Java技术栈的使用。
本次课程中,我们学习了如何使用Spring框架来实现依赖注入、泛型、方法级别的缓存等方面的内容,这些技术可以帮助我们更好地设计系统,提高系统的稳定性和可扩展性。
同时,我们还学习了如何使用Java提供的其他技术,例如注解、面向切面编程等方面的内容,这些技术可以帮助我们更好地实现系统的功能和性能。
四、总结本次课程中,我们学习了学生管理系统的设计和实现,包括系统设计、数据库设计、Java技术栈等方面的内容。
通过本次学习,我们掌握了如何设计一个可扩展、可维护、高性能的学生管理系统,同时也提高了我们的编程能力和解决问题的能力。
java gui 学生管理系统项目个人总结报告
java gui 学生管理系统项目个人总结报告摘要:一、项目背景与目标二、项目技术架构与实现三、项目成果与不足四、个人收获与反思正文:一、项目背景与目标在本次Java GUI学生管理系统项目中,我们的目标是设计并实现一个具备基本管理功能的系统,以便于对学校的学生信息进行有效管理。
项目背景源于我国教育行业对信息化管理的迫切需求,通过引入现代化技术手段,提高管理效率,降低人力成本。
二、项目技术架构与实现本项目采用Java作为编程语言,使用Java Swing作为GUI界面库,MySQL作为数据库存储数据。
项目主要包括以下几个模块:学生信息录入、学生信息查询、学生信息修改、学生信息删除以及成绩管理等。
在实现过程中,我们遵循了面向对象的设计原则,将各个功能模块划分为相应的类,实现了模块间的解耦合,提高了代码的可维护性和可扩展性。
同时,采用数据库事务处理保证数据操作的完整性和一致性。
三、项目成果与不足经过努力,我们成功完成了项目的基本功能,实现了学生管理系统的GUI界面,并能够正常运行。
通过测试,系统在基本操作上的稳定性和可靠性得到了验证。
然而,项目仍存在一定的不足,例如在数据查询模块中,查询效率有待提高;部分功能的实现较为简单,可优化空间较大。
四、个人收获与反思在本次项目中,我不仅学到了Java编程语言及相关库的使用,还掌握了面向对象编程的基本思想。
在项目实施过程中,我深刻体会到了团队协作、时间管理、沟通协调等方面的重要性。
同时,项目中的不足也让我认识到自己在技术能力和综合素质方面的欠缺,需要不断提高。
总结:本次Java GUI学生管理系统项目虽然取得了一定的成果,但仍存在诸多不足,需要在以后的学习和工作中不断改进。
java学生成绩管理系统试验报告
JAVA课内实验报告学生成绩管理系统一.实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。
但是,我们看到,其实我们学校的学生成绩管理系统在很多方面作的不是很完善,功能方面也有欠缺。
随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。
几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。
该课程设计旨在设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。
要方便学生进行成绩查询,通过该课程设计,应该达到把java理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
实验环境:JAVA开发工具MyEclipse 8.5Microsoft SQL Server 2005二.实验内容在JAVA开发工具MyEclipse 8.5和Microsoft SQL Server 2005环境下,运用学到的java和数据库理论知识,设计一个具有简单的增加`删除`修改`查询操作的学生成绩管理系统。
三.方案设计1、系统功能设计要求此系统实现如下功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。
(2)通过用户名和密码登录系统,查询、删除、修改和增加课程基本资料`学生所选课程`用户密码等功能。
容易地完成学生成绩信息及学生信息的基本操作。
(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
2、系统模块设计学生成绩管理系统大体可以分成两大模块:一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;二是课程管理模块,在该模块中应该包含有对学生成绩信息的查询和处理;可以得到的系统流程图如下图2.1所示:系统启动学籍管班级管关于系课程设成绩管管理图2.1 学生成绩管理系统的系统流程图3、数据字典数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。
学生管理系统java实验报告
学生管理系统java实验报告一、实验目的本实验旨在设计一个学生管理系统,使用Java编程语言,通过面向对象的方式进行设计与实现。
二、实验内容1. 设计并实现学生类,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。
2. 设计并实现学生管理类,包括添加学生、删除学生、查找学生、修改学生信息等操作。
3. 提供一个主程序,可以通过用户输入选择对应的学生管理操作。
三、实验步骤1. 首先,创建一个学生类`Student`,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。
javapublic class Student {private String studentId;private String name;private String gender;private int age;public Student(String studentId, String name, String gender, int age) {this.studentId = studentId; = name;this.gender = gender;this.age = age;}Getter and Setter methodsOther methods (e.g., toString())}2. 接着,创建一个学生管理类`StudentManager`,包括添加学生、删除学生、查找学生、修改学生信息等操作。
javaimport java.util.ArrayList;public class StudentManager {private ArrayList<Student> students;public StudentManager() {students = new ArrayList<Student>();}public void addStudent(Student student) { students.add(student);System.out.println("学生添加成功!");}public void deleteStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) { students.remove(i);System.out.println("学生删除成功!");return;}}System.out.println("未找到该学生,删除失败!");}public Student findStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) {return students.get(i);}}return null;}public void updateStudent(Student student) {for (int i = 0; i < students.size(); i++) {if(students.get(i).getStudentId().equals(student.getStudentId())) {students.set(i, student);System.out.println("学生信息更新成功!");return;}}System.out.println("未找到该学生,更新失败!");}Other methods (e.g., displayAllStudents())}3. 最后,编写一个主程序`Main`,可以通过用户输入选择对应的学生管理操作。
javaweb上机实验报告(学生管理系统)
在线学生管理系统
二开发背景简介
随着网络技术的发展和普及许多以前基于CS的应用都开始向BS方向发展,而Java在这方面的应用有着许多其他技术不具备的优点,Java开发Web应用的主要技术是Servlet和Jsp技术,其实Jsp只Servlet的一种进化方便了开发者的使用。它们都具有强大的功能适用于许多大型项目的开发。在未来基于BS的应用也必将得到较好的发展。本实验是在讲完Jsp和Servlet课程后为掌握所学的知识而做的实验。
</tr>
<tr>
<td>宿舍号:</td>
<td colspan="2"><%=rs.getString(10)%></td>
</tr>
<tr>
<td>爱好:</td>
<td colspan="2"><%=rs.getString(12)%></td>
</tr>
<tr>
<td>备注:</td>
<td colspan="2"><%=rs.getString(14)%></td>
stmt.executeUpdate(sql);
response.sendRedirect("index.jsp");
%>
16.当然我们可以对上面的信息进行删除,比如我们还是删除第一条记录,我们删除后,就是这样了。
<%@ page contentType="text/html; charset=gb2312" import="java.sql.*"%>
java实训报告
java实训报告在本篇报告中,我将对我参加的Java实训进行详细的总结和分析。
实训项目旨在提升学员在Java开发方面的技能,培养实际应用能力,并为日后的职业发展打下坚实的基础。
一、项目背景与目标Java实训项目旨在通过实际项目经验来加深学员对Java编程语言的理解和应用。
项目的目标是通过参与并完成一个具体的Java开发案例,让学员掌握基本的开发流程、规范和工具,提升他们的解决问题的能力。
二、项目内容与方法1. 项目内容本次实训项目的内容为开发一个基于Java的学生信息管理系统。
该系统需要实现以下功能:- 添加、删除、修改学生信息;- 查询学生信息并进行排序;- 统计学生的人数和平均成绩。
2. 开发方法为了有效地完成项目,我们采取了以下步骤:(1)需求分析:与项目组成员一起分析项目需求,明确系统功能和用户交互。
(2)系统设计:根据需求分析的结果,设计系统的各个模块以及它们之间的关系。
(3)编码实现:使用Java语言进行编码实现,并按照项目规范完成代码编写。
(4)测试与调试:对系统进行全面的测试,修复潜在的问题并确保系统的稳定性和可靠性。
三、实训成果与反思通过本次实训,我取得了以下几点成果:1. 掌握了Java语言的基本语法和面向对象编程思想。
2. 学习了常用的Java开发工具和框架,如Eclipse、Spring、Hibernate等,并成功运用于实训项目中。
3. 提升了解决问题的能力,学会了通过查阅文档和网络资源来解决遇到的困难。
4. 加深了对软件工程的理解,学会了合理规划和管理项目,并与团队成员紧密合作。
然而,在实训过程中也遇到了一些挑战和问题:1. 初期对Java语言的理解还不够深入,需要阅读更多的相关书籍和文档来加强学习。
2. 在代码编写过程中,有时会出现一些小错误导致程序运行不正常,需要耐心调试和排查问题。
3. 对于项目的需求分析和设计,需要更加细致和全面,以确保系统功能的完备性和可扩展性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学 号: 姓 名: 班 级: 指导老师:
1
一、项目计划 (1)项目名称:学生信息管理系统 (2)实训地点: (3)小组成员: 二、系统总体设计 (1)需求分析
学生信息管理系统,是对学生的个人信息,课程信息,成绩信息 以信息化的方式进行管理,最大限度地减少各个环节可能出现的错 误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误, 混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资 料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。
备注 课程编号 教师编号 课程名称 上课时间 上课地点 课程简介
数类型
int not null varchar(20) not null varchar(20) not null varchar(20) not null int Users(系统管理员)表
备注 选课编号 学生编号 教师编号 课程编号 成绩
1 打开 PowerDesigner,出现工作界面。 2 单击“数据库|生成数据库”菜单命令,弹出对话框。这里 可以看到所有与生成数据库有关的选择,比如生成文件目的地、是否 生成视图、是否生成主键索引等。
5
3 修改 SQl 脚本的保存地址,单击“确定”按钮,如果不提示 错误,在所选的目的地就能发现一个 crebas.sql 脚本文件。所生成的 脚本文件中并没有关于数据库的信息,因为所创建的仅仅是数据库中 表的所有信息。下面就要创建一个数据库。
表2
字段名 teaID teaPwd teaName teaDepart
表3
Student(学生)表
数据类型 varchar(20) not null varchar(20) not null varchar(10) not null int int int
Teacher(教师)表
数据类型 varchar(20) not null varchar(20) not null varchar(10) not null int
测试是为了更好地完成项目的功能,虽然测试并不能完全模拟实 际发生的流程,但可以降低错误的发生概率,提高软件项目的稳定性。 按照极限编程的理论,写测试就是对软件进行设计的过程,它的重要 性甚至超过了完成实际功能的代码。先将测试写完,然后再来实现代 码,这样所有的测试通过之日也就是程序完成之时。虽然这些理论并 不能完全实践,但测试的重要性是毋庸置疑的。 四、实训总结 1.第一次完成项目,深刻的体会到软件整体架构的重要性,编程不 能想到哪编到哪,这样在项目的后期会出现很多无法解决的致命错 误,所以软件的整体架构的成败将会决定软件的成败,软件分析架构 的时间应该占整个项目的大部分时间。 2.Java 不仅仅是一个实训更是检验一个人综合能力的测试题。它在 考察知识的同时,也考验了一个人的心理素质,沟通交流,表达能力, 所以,在做好 java 任务的同时必须能够协调好这些。 3.软件测试的过程应该贯穿整个软件设计的过程,而不是等做好了 再测试,需求分析的时候就应该测试了,而且要反复循环的测试。 4.虽然现在对需求分析还很模糊,但应该强化自己的需求分析的能 力,一个好的需求分析才是软件的灵魂。 5.团队精神非常重要,需要不断的沟通。 6.总体上由于自己本身能力有限,还需要进一步学习。
7
五、实训心得 在几天的实训中我真正体会到这几点。首先兴趣是关键,我的学
习完全是兴趣导向的,所以压力并不大。因为有兴趣,所以我会很想 充分理解一切细节。又因为理解,所以许多原本片片断断的知识都可 以渐渐互相融会贯通,累积技术能量、理论和实务之间的玻璃被打破 了,学习效率才能倍增。
其次态度要端正,摆正自己的心态,不要以为什么东西上网搜搜 就可以了,一定要有自己的东西。只有自己付出过,当程序运行成功 时的那种喜悦才会令自己有一种莫名的自豪感。态度决定一切!然后 还要有敢于挑战不安于现成的程序,要敢于用多种方法实现一个目 的。
一项任务的成功完成,必须依靠合理的计划安排以及各种资源的 有效利用。有计划、有步骤地进行软件开发,除了可以提高开发进度
2
外,更能明确项目组各成员之间的职责及任务。项目进度表要安排每 个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员 可以随时查看整个项目的进度,以及时发现问题,调整工作策略。 (3)概要设计
7 单击“常规工具栏|新建查询”按钮,系统自动创建一个名 为“SQLQuery1.sql”的文本窗口,并显示在摘要区内。
8 打开第 3 步生成的脚本文件,按 Ctrl+A 组合键,选择文件 里的所有内容,复制到打开的查询文件中。
9 检查一下复制过来的代码是否完整,然后在“常规工具栏| 数据库选择”下拉框中选择“StudentManager”。
3
(6)系统功能结构
(7)系统功能设计
系统功能框架:作为一个学生管理系统,本系统的设计主要包含:
系统登录、学生信息管理、班级管理、课程管理和用户管理。学生管
理系统主框架的主要结构。
(8)数据库设计
表1
字段名 stuID stuPwd stuName stuDepart stuGrade stuClass
10 单击“常规工具栏|执行”按钮,执行脚本。如果提示“命 令成功执行”,则生成了完整的数据库文件。
在完成对数据库中自动生成的表的检查后,如果没有问题,整个 数据库设计就完成了。为了避免日后的重复操作,在设计数据库时, 一定要全面掌握每个表的信息内容,因为后期再添加字段将会带来极
6
高的维护成本。 (10)项目的测试
概要设计是根据系统分析的需求和工作环境的情况对整个软件 的总体结构进行大致的设计。概要设计要坚持以下几个原则:1:细 分原则 2:提高代码重用性:3:从上而下层层分析 4:一致性原则 5: 提高独立性 6:模块的大小要尽量适中。由于概要设计是整个设计的 重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能 在今后软件开发过程中不再反复。现在软件行业流行模式化驱动设 计,将一些市场上比较成功的模式拿来用在自己的设计中。 (4)详细设计
表5
字段名 adminName adminPwd
表6
字段名 departed departName
数据类型
varchar(20) not null varchar(20) not null varchar(100) not null varchar(20) varchar(50) text
Elect(选课)表
概要设计是为了明确开发人员的工作步骤和工作目标。详细设计 使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。 (5)数据表设计
根据系统所需,可以得出需要以下数据表信息: 需要管理学生信息:学生表。 需要管理教师信息:教师表。 需要管理课程信息:课程表。 需要管理选课信息:选课表。 需要管理院系信息:院系表。 需要管理管理员信息:管理员表。
这次的实训也让我明白了要做好一个系统,团队合作永远是最重 要的,一个人的力量永远是渺小的,团队分工、合作会使得问题更加 的简单、解决的迅速。
8
数据类型
varchar(20) not null varchar(20)
Depart(系院)表
备注 管理员用户名 管理员密码
数据类型 int not null varchar(100)
备注 系院号 系院名称
(9)生成数据库 设计好软件所需要的全部数据表后,如何将设计好的这些图形元
素转化成 SQL Server 中的数据库呢?PowerDesigner 的一个优点就是 对数据库可逆。下面是连接数据库的具体步骤:
4 打开 SQL Server,出现其控制台窗口。这里主要包含对象资 源管理器和摘要 2 个区域。
5 在对象资源管理器中,右键单击“数据库”项目,在弹出的 菜单中选择“新建数据库”,就出现了新建数据库的窗口。
6 在“数据库名称”文本框内,填写本项目数据库的名称: StudentManager。单击“确定”按钮,就生成了程序所需的数据库, 并返回到数据库界面。
Cource(课程)表
学号 密码 姓名 系院号 年级 班级
备注
备注 教师编号 教师密码 教师姓名 系院号
4
字段名 courceID tealID courceName courceTime courceAddress courceInfo
表4
字段名 electId stuID teaID courceID score
通过实际调查,要求学生信息管理系统具有以下功能: 1. 界面设计美观大方,方便,快捷,操作灵活。 2. 实现强大的学生个人信息,课程信息,成绩信息的查询,修改,
录入,删除管理。 3. 实现强大的联系人信息及其类别的查询,录入,删除管理。 4. 能够在不同的的操作系统下运行,不局限于特定的平台。 5. 提供数据库备份与恢复功能。 6. 提供友情平台,例如:计算机,方便对成绩的操作; (2)项目计划安排