一、 引言
学生成绩管理信息系统是一个基于Java Swing的桌面应用程序,旨在方便学校、老师和学生对学生成绩进行管理和查询。本文档将提供系统的详细说明,包括系统特性、使用方法和技术实现。
二、 系统特性
2.1 学生管理
添加学生信息:录入学生基本信息,包括学号、姓名、班级等。
编辑学生信息:修改学生已有信息,确保数据的准确性。
删除学生信息:从系统中移除不再需要的学生记录。
2.2 成绩管理
添加成绩记录:输入学生的考试成绩,包括科目和分数。
编辑成绩记录:修改学生的考试成绩,确保数据的实时性。
删除成绩记录:从系统中删除不正确或不需要的成绩数据。
2.3 查询与统计
查询学生成绩:通过学号或姓名查询学生的考试成绩。
班级成绩统计:按照班级对成绩进行统计和分析。
科目成绩排名:查看某一科目的成绩排名。
2.4不一一列举
三、 技术实现
3.1 Java Swing GUI
系统使用Java Swing作为图形用户界面(GUI)的开发工具,提供直观的操作界面,包括表格、按钮和文本框等组件。
3.2 MVC 架构
系统采用MVC(Model-View-Controller)架构,将数据逻辑、用户界面和用户输入分离,提高系统的可维护性和可扩展性。
四、数据库
这是一个简单的学生成绩管理系统的MySQL数据库表结构。以下是每个表的简要说明:
-
course
表:- 存储课程信息。
- 字段:
cno
: 课程编号 (Primary Key)cname
: 课程名称
- 记录:
- 三个课程的信息。
-
grade
表:- 存储学生成绩信息。
- 字段:
cno
: 课程编号 (Foreign Key)sno
: 学生编号 (Foreign Key)core
: 成绩
- 记录:
- 一个学生的一个课程的成绩记录。
-
student
表:- 存储学生信息。
- 字段:
sno
: 学生编号 (Primary Key)sname
: 学生姓名classes
: 班级
- 记录:
- 一个学生的信息。
-
user
表:- 存储系统用户信息,用于登录。
- 字段:
username
: 用户名 (Primary Key)password
: 密码
- 记录:
- 包含两个用户的登录信息,一个是学生,另一个是管理员。
这些表之间通过外键关联,例如 course
表中的 cno
是 grade
表中的外键,关联学生成绩和课程信息。在 grade
表中,sno
和 cno
共同构成主键,确保每个学生在每门课程上只有一条记录。
如果有进一步的问题或需要特定信息,请提出。
五、程序截图
六、代码
StudentUpdate.java
package com.scm;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;public class DBUtils {private static String driverClass;private static String url;private static String username;private static String password;static{ResourceBundle bundle = ResourceBundle.getBundle("dbinfo");driverClass = bundle.getString("driverClass");url=bundle.getString("url");username=bundle.getString("username");password=bundle.getString("password");try {Class.forName(driverClass);} catch (ClassNotFoundException e) {e.printStackTrace();}}public static Connection getConnection(){try {return DriverManager.getConnection(url, username, password);} catch (SQLException e) {e.printStackTrace();return null;}}//�ر���Դpublic static void closeAll(ResultSet rs,Statement stmt,Connection conn){if(rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(stmt!=null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}if(conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}
}
User.java
package com.scm;public class User {private String username;private String password;public User(){}public User(String username, String password) {super();this.username = username;this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
七、联系与交流
q:969060742 文档、完整代码、sql