作者: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)使用数据库存储学生成绩信息;
「学生成绩管理系统」的设计流程图如下所示。
登录「学生成绩管理系统」有两种方法,一种是教师登录,一种是学生登录,登录界面如下所示。
登录功能主要是检查用户输入的账号和密码是否正确,主要代码实现如下所示。
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;
}
上述代码中,首先加载数据库驱动,然后连接数据库,最后查询用户和密码。
将输入的学生成绩信息添写入到数据库中,代码实现如下所示。
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 语句写入数据库。
首先,管理员需要输入学号,通过 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();
}
}
用户输入学生信息后,通过 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 的写入和读取。
感觉有帮助记得「一键三连」支持下哦!有问题可在评论区留言,感谢大家的一路支持!猿哥将持续输出「优质文章」回馈大家!