基于Swing的Java学生成绩管理系统

作者:Linux猿

简介:CSDN博客专家,华为云享专家,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!

关注专栏:C/C++/Java课程设计100例 优质好文持续更新中……

欢迎小伙伴们点赞、收藏⭐、留言


目录

一、功能需求

二、功能实现

2.1 流程图

2.2 登录

2.3 增加学生成绩信息

2.4 删除学生成绩信息

2.5 修改学生成绩信息

三、数据库连接

四、总结


本篇文章对基于 Swing 的 Java 学生成绩管理系统进行详细的介绍,包括功能需求、功能实现以及数据库连接等。

一、功能需求

(1)支持增加学生成绩信息;

(2)支持删除学生成绩信息;

(3)支持查看学生成绩信息;

(4)支持修改学生成绩信息;

(5)支持教师登录和学生登录两种模式;

(6)使用数据库存储学生成绩信息;

二、功能实现

2.1 流程图

学生成绩管理系统的设计流程图如下所示。

基于Swing的Java学生成绩管理系统_第1张图片 图1 流程图

2.2 登录

登录学生成绩管理系统有两种方法,一种是教师登录,一种是学生登录,登录界面如下所示。

基于Swing的Java学生成绩管理系统_第2张图片 图2 登录界面

 登录功能主要是检查用户输入的账号和密码是否正确,主要代码实现如下所示。

public static boolean checkLogIn(String name, String password, String type) {
	if (loadDriver() == false) {
		return false;
	}
	
    boolean ret = false;
    try {
    	Connection c = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test","sa", "123456");
        Statement s = c.createStatement();
        String sql = "select * from " + type + " where name = '" + name +"' and password = '" + password+"'";
        ResultSet rs = s.executeQuery(sql);
        if(rs.next()) {
        	ret = true;	
        }
    } catch (SQLException e) {
    	System.out.println("Error: try catch");
        e.printStackTrace();
    }
   
    return ret;
}

上述代码中,首先加载数据库驱动,然后连接数据库,最后查询用户和密码。 

2.3 增加学生成绩信息

将输入的学生成绩信息添写入到数据库中,代码实现如下所示。

public void add(Score score) {
	  
    String sql = "insert into studentInfo values(?,?,?,?,?,?)";
    try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {

        ps.setString(1, score.name);
        ps.setString(2, score.myclass);
        ps.setInt(3, score.number);
        ps.setInt(4,score.Chinesegrade);
        ps.setInt(5,score.Mathgrade);
        ps.setInt(6,score.Englishgrade);

        ps.execute();
        ResultSet rs = ps.getGeneratedKeys();
        if (rs.next()) {
            int number = rs.getInt(1);
            score.number = number;
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

首先获取用户输入,然后将用户输入的信息通过 SQL 语句写入数据库。

2.4 删除学生成绩信息

首先,管理员需要输入学号,通过 SQL 语句删除指定学号的学生,实现代码如下所示。

// 删除学生信息
public void delete(int number) {
    try (Connection c = getConnection(); Statement s = c.createStatement();) {
        String sql = "delete from studentInfo where number = " + number;
        s.execute(sql);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

2.5 修改学生成绩信息

用户输入学生信息后,通过 SQL 语句删除学生信息,实现代码如下所示。

// 更新学生信息
public void update(Score score) {
    String sql = "update studentInfo set name= ?, myclass = ? , Chinesegrade = ? , Mathgrade = ?, Englishgrade = ? where number = ?";
    try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {
        ps.setString(1, score.name);
        ps.setString(2, score.myclass);
        ps.setInt(3,score.Chinesegrade);
        ps.setInt(4,score.Mathgrade);
        ps.setInt(5,score.Englishgrade);
        ps.setInt(6, score.number);
        ps.execute();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

三、数据库连接

首先,需要加载 SQL Server 数据库的驱动,添加方式如下所示。

public static boolean loadDriver() {
	boolean ret = true;
	try {
		Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	} catch (ClassNotFoundException e) {
		System.out.println("加载驱动失败!!!");
		ret = false;
		e.printStackTrace();
	}
	return ret;
}

然后,连接指定数据库,实现代码如下所示。

Connection c = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test","sa", "123456");

四、总结

基于 Swing 的 Java 学生成绩管理系统不难,主要原理是通过 Swing 图形界面显示增加/删除/修改/查看等需要的信息,然后,通过 SQL Server 存储用户数据,是一个写入数据库的过程和查询数据库的过程,总结起来三个方面:基于 Swing 的图形界面、SQL Server 的写入和读取。


感觉有帮助记得「一键三连支持下哦!有问题可在评论区留言,感谢大家的一路支持!猿哥将持续输出「优质文章回馈大家!


你可能感兴趣的:(C/C++面试通关集锦,Java,课程设计,Java,大作业,Java,学生成绩管理系统,学生成绩管理系统,Java,Swing)