Java学生管理系统设计与实现 (超详细,含课程设计)

最新文章出炉,欢迎点评

它曾是浏览器的王者,如今却前景堪忧......   推荐阅读 ★★★★

往期文章回顾:

1、Java开发岗位面试题汇总(不断补充……)★★★

2、Java程序员必须掌握的英语词组 ★★

3、学习Java的9张思维导图 ★★★★★

一直收藏着的管理系统设计报告,受益匪浅,希望也可以帮助到你。

功能分析

本系统面向某高校的所有大学生的基本信息管理,主要分为学生基本信息管理、学生成绩信息管理、学生学籍信息管理和统计报表管理四大部分。
(1) 学生基本信息管理
学生基本信息管理完成学生基本信息(学号、姓名、性别等信息)的各种数据库管理操作。
学生的基本信息由教务人员录入,系统需要对信息进行核对然后保存到学生基本信息数据库中,学生本人可以根据学号或个人帐号登录浏览自己的基本信息。
学生可以根据系统提出更新请求,更新请求汇总为待更新学生基本信息,并由教务人员统一修改。
班主任只能浏览本班学生的基本信息,学院主管学生工作的领导则可以查看全院所有学生的基本信息。
若学生出现退学、修学等情况,班主任将这些同学的信息给教务人员,由教务人员统一删除或修改。
(2) 学生成绩管理
学生的成绩信息管理包括学生成绩的录入、查询、删除、修改等操作,学生成绩由教务处人员负责录入和修改。
学生本人及班主任拥有不同的权限,可以凭学号或班级编号查看一个或多个学生的成绩信息。
学工处制定奖学金颁发准则,每学期都根据学生成绩评选出符合奖学金要求的学生名单,打印出交学校主管部门审批。
此外,教务处人员还可根据学生成绩及每名学生选修学分的多少确定退学名单和留级名单,打印出交学校主管部门审批。
(3) 学生的学籍管理
学生的学籍信息管理其实和第1和第2个功能紧密联系。
主要完成如下功能:学生入学的学籍登记、学生休学的学籍保留、学生留级的学籍信息更新、学生复学的学籍激活、学生退学的学籍清除等工作。
(4) 统计报表管理
学校教务处可以对学生基本信息、学生成绩信息、学生学籍信息进行分类汇总,形成各种统计报表。如单门课程的及格率、学生获取奖学金的比率等。

概要设计

处理流程

Java学生管理系统设计与实现 (超详细,含课程设计)_第1张图片

 软件结构

Java学生管理系统设计与实现 (超详细,含课程设计)_第2张图片

整体测试

登录

Java学生管理系统设计与实现 (超详细,含课程设计)_第3张图片

新增账户界面

Java学生管理系统设计与实现 (超详细,含课程设计)_第4张图片

代码:

DisplayStudent:

import java.awt.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;

public class DisplayStudent extends JFrame
{
	static final String JDBC_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
	static final String DATABASE_URL = "jdbc:odbc:studyDSN";
	private Connection connection;
	private Statement statement;
	
	public DisplayStudent()
	{
		super("显示全部学生信息");
		try
		{
			Class.forName(JDBC_DRIVER);
			connection = DriverManager.getConnection(DATABASE_URL,"sa","8882551");
			statement = connection.createStatement();
			String sqlString = new String("select std_no as 学号,std_name as 姓名,std_sex as 性别,age as 年龄,std_sdept as 所在系,std_condition as 学籍状态 from student1");
			ResultSet resultSet = statement.executeQuery(sqlString);
			StringBuffer results = new StringBuffer();
			ResultSetMetaData metaData = resultSet.getMetaData();
			int numberOfColumns = metaData.getColumnCount();
			for (int i = 1; i <= numberOfColumns; i++)
				results.append(metaData.getColumnName(i)+"\t");
			results.append("\n");
			while(resultSet.next())
			{
				for (int i = 1; i <= numberOfColumns; i++)
					results.append(resultSet.getObject(i)+"\t");
				results.append("\n");
			}
			JTextArea textArea = new JTextArea(results.toString());
			textArea.setEditable(false);
			Container container = getContentPane();
			container.add(new JScrollPane(textArea));
			setSize(500,400);
			setVisible(true);
		}
		catch(SQLException sqlException)
		{
			JOptionPane.showMessageDialog(null,sqlException.getMessage(),"Database Error",JOptionPane.ERROR_MESSAGE);
			System.exit(1);
		}
		catch(ClassNotFoundException classNotFound)
		{
			JOptionPane.showMessageDialog(null,classNotFound.getMessage(),"Driver Not Found",JOptionPane.ERROR_MESSAGE);
			System.exit(1);
		}
		finally 
		{
			try
			{
				statement.close();
				connection.close();
			}
			catch(SQLException sqlException)
			{
				JOptionPane.showMessageDialog(null,sqlException.getMessage(),"Database Error",JOptionPane.ERROR_MESSAGE);
				System.exit(1);
			}
		}
	}
	
	public static void main(String args[])
	{
		DisplayStudents window = new DisplayStudents();
		window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

Login:

/*导入JDK包*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
/**/
public class Login extends JFrame{	
    private JTextField tfUser,password;
    private String tfUser1,password1;
	static final String JDBC_DRIVER="sun.jdbc.odbc.JdbcOdbcDriver";
	static final String DATABASE_URL="jdbc:odbc:studyDSN";
	private Connection connection;
	private Statement statement;
	String sqlString;
	public Login(){
		super("学生信息管理系统登陆窗口--王辉(05计算机二班)6号");
		initialize();
		Box horizontal1=Box.createHorizontalBox();
		Box horizontal2=Box.createHorizontalBox();
		Box horizontal3=Box.createHorizontalBox();
		Box horizontal4=Box.createHorizontalBox();
		Box horizontal5=Box.createHorizontalBox();
		Box horizontal6=Box.createHorizontalBox();
		Box horizontal7=Box.createHorizontalBox();
		Box vertical1=Box.createVerticalBox();
		Box vertical2=Box.createVerticalBox();		
		Container container=getContentPane();
		container.setLayout(new FlowLayout());
		JLabel lbTitle=new JLabel("学生信息管理系统入口");
		lbTitle.setFont(new Font("",Font.BOLD,18));
		horizontal1.add(lbTitle);
		JLabel lbUser3=new JLabel("    ");
		horizontal7.add(lbUser3);
		horizontal7.setSize(300,15);
		//container.add(lbTitle);
		JLabel lbUser=new JLabel("用户名:");
		horizontal2.add(lbUser);
		//container.add(lbUser);
		final JTextField tfUser=new JTextField(10);
		horizontal2.add(tfUser);		
		//container.add(tfUser);
		JLabel lbUser2=new JLabel("    ");
		horizontal6.add(lbUser2);
		horizontal6.setSize(300,15);	
		JLabel lbpassword=new JLabel("密码:");
		horizontal3.add(lbpassword);
		//container.add(lbpassword);			
		final JPasswordField password=new JPasswordField(10);
		horizontal3.add(password);
		vertical1.add(horizontal7);
		vertical1.add(horizontal2);
		vertical1.add(horizontal6);
		vertical1.add(horizontal3);
		JLabel lbUser1=new JLabel("    ");
		horizontal5.add(lbUser1);
		horizontal5.setSize(300,15);
		//container.add(password);
		/*添加按钮监听*/		
		JButton InButton=new JButton("登陆");
		horizontal4.add(InButton);	
		InButton.addActionListener(
			new ActionListener()
			{
				public void actionPerformed(ActionEvent event)
				{			
			          
			           tfUser1=tfUser.getText();
			           password1=password.getText();			           
			           check(tfUser1,password1);			             			           
				}
			}
			);
		JLabel lbUser5=new JLabel("    ");
		horizontal4.add(lbUser5);
		//container.add(InButton);
		JButton ClearButton=new JButton("重置");
		ClearButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent event)
			{				
				tfUser.setText("");
				password.setText("");
				}
			});
		horizontal4.add(ClearButton);
		//container.add(ClearButton);
		vertical2.add(horizontal1);
		vertical2.add(vertical1);
		vertical2.add(horizontal5);
		vertical2.add(horizontal4);		
		container.add(vertical2);
		setSize(500,200);
		setVisible(true);
		/*按钮监听实现*/		
	}
	

	/*判断用户名密码*/
	public void check(String tfUser0,String password0){		
		
		if(tfUser0.equals(""))
	     {	
	     JOptionPane.showMessageDialog(null,"请输入用户名","IOError",JOptionPane.ERROR_MESSAGE);	    
	     }	   
		else if(password0.equals(""))
		{
		JOptionPane.showMessageDialog(null,"请输入密码","IOError",JOptionPane.ERROR_MESSAGE);
		}
	
	    else if(tfUser0.equals("ecjtu")&&password0.equals("ecjtu"))
		{
		   new Student(0);		            
           setVisible(false);
		}
		else{
			try{
		    String sqlString="select * from admin where adminusername='"+tfUser0+"' and adminpassword='"+password0+"'";
			ResultSet resultSet=statement.executeQuery(sqlString);	
			if(resultSet.next()){
				new Student(1);		            
	    	setVisible(false);
			}
			else{
				JOptionPane.showMessageDialog(this,"Wrong Username Or Password","IOError",JOptionPane.ERROR_MESSAGE);
			}
			}catch(NumberFormatException formatException)
		    {
		    	JOptionPane.showMessageDialog(this,"Bad sno number","Invalid Number Format",JOptionPane.ERROR_MESSAGE);
		    }
		    catch(SQLException sqlException)
		    {
		    	System.out.println(sqlException);
		    }
		}		
	}
	 /*数据库连接*/
	 	public void initialize()
	{
		try
		{
			Class.forName(JDBC_DRIVER);
			connection = DriverManager.getConnection(DATABASE_URL,"sa","8882551");
			statement = connection.createStatement();
		}
		catch(SQLException sqlException)
		{
			JOptionPane.showMessageDialog(null,sqlException.getMessage(),"Database Error",JOptionPane.ERROR_MESSAGE);
			System.exit(1);
		}
		catch(ClassNotFoundException classNotFound)
		{
			JOptionPane.showMessageDialog(null,classNotFound.getMessage(),"Driver Not Found",JOptionPane.ERROR_MESSAGE);
			System.exit(1);
		}
	}//end initialize   
	public static void main(String[] args){
		Login login=new Login();				
    }
}
//class checkException extends Exception{
//	public checkException(String msg)
//	{	
//		super(msg);
//	}
//}

相关文章推荐:

1、 C语言学生成绩管理系统源代码 ★★★★★

2、 C语言学籍管理系统源代码 ★★

3、C语言学生成绩管理系统设计 《C语言程序设计》实训报告 ★★★

4、C语言员工信息管理系统源代码 ★★★

5、C语言学生信息管理系统源代码 ★★

 感谢你的关注与阅读,想要更多学习资料的朋友可以加VX:Pandaxiaonian 交流学习 

你可能感兴趣的:(大学里的java,管理系统,java学生管理系统,java管理系统,学生管理系统,java学生系统,java课程设计)