跳至主要內容
C#winform实战教程-学生成绩管理系统

C#winform实战教程-学生成绩管理系统

期末C#winform课设不会做?学长敲代码来教你!

本教程将用C#winform + sqlserver/mysql(两种数据库都会说) 手把手教你做出一个完整系统 ,本文是配套文档

目标

  • 熟悉使用Visual stdio的使用(本次演示使用vs2022,你也可以使用其他版本)
  • 使用C#连接sqlserver/mysql
  • 使用button、DataGridView、TextBox、下拉框等组件
  • 实现导出excel功能
  • 实现验证码

学长敲代码教程C#winform学生信息管理系统期末课设C#winform大约 1 分钟约 348 字

接着我们进入第二阶段,上个阶段仅仅完成了学生信息管理系统,现在继续完成成绩部分

实现图

数据库创建

接着创建课程表和成绩表。

sqlserver

use student_manage;
-- 创建课程表
CREATE TABLE tb_course(
      cno VARCHAR(10), -- 课程号
      cname VARCHAR(30), -- 课程名
      teacher VARCHAR(100), -- 教师
      score INT, -- 学分
      PRIMARY KEY (cno)
);
GO
-- 插入课程数据
INSERT INTO tb_course VALUES('1001', '高数', '王老师', 5);
INSERT INTO tb_course VALUES('1002', '数据库原理', '李老师', 4);
GO
-- 创建成绩表
CREATE TABLE tb_score(
     sno VARCHAR(20), -- 学号
     cno VARCHAR(10), -- 课程号
     score INT, -- 分数
     PRIMARY KEY (cno, sno)
);
GO
-- 插入成绩数据
INSERT INTO tb_score VALUES('2024001', '1001', 50);
INSERT INTO tb_score VALUES('2024001', '1002', 85);
INSERT INTO tb_score VALUES('2024002', '1001', 68);
INSERT INTO tb_score VALUES('2024002', '1002', 89);
GO
-- 添加外键约束(学生-成绩)
ALTER TABLE tb_score ADD CONSTRAINT frn_stu_score
    FOREIGN KEY(sno) REFERENCES tb_student (sno);
GO
-- 添加外键约束(课程-成绩)
ALTER TABLE tb_score ADD CONSTRAINT frn_cou_score
    FOREIGN KEY(cno) REFERENCES tb_course (cno);
GO

学长敲代码教程C#学生信息管理系统学生成绩管理系统大约 5 分钟约 1364 字

数据库创建

数据库字段设计如下,如果需要其他字段可自行扩充字段。这里使用mysql和sqlserver都可以,你们自行选择一种数据库进行开发

区别仅仅在于数据库创建代码不同、C#中仅仅是Sql.cs代码不一样,mysql需要引入一个资源文件

sqlserver语句

create database student_manage;
go
use student_manage;
go
-- 创建表:管理员
create table tb_admin (
     username varchar(20)  primary key ,  -- 用户名
     password varchar(20)  -- 密码
)
go
insert into tb_admin (username,password) values('1','1');
go
create table tb_student(
	sno varchar(20) primary key,
	password varchar(20), -- 密码
	name varchar(20),
	tele varchar(11), -- 电话
	enterdate date, -- 入学时间
	age int, -- 年龄
	gender varchar(1), -- m 男 w 女  下拉框
	address varchar(100), -- 户籍地址 多行输入框
    clazzno varchar(100), -- 班级
)
go
insert into tb_student values('2024001','123','吕布','15555555555','2024-09-13',19,'m','广东深圳xxx','计算2313');
insert into tb_student values('2024002','123','张飞','15555555555','2024-09-13',20,'m','北京xxx','计算2313');
insert into tb_student values('2024003','123','貂蝉','15666555555','2024-09-13',19,'w','福建福州xxx','计算2314');

学长敲代码教程C#学生信息管理系统大约 6 分钟约 1743 字
JavaWeb教程:(一)学生信息管理 / (二)选课管理系统

JavaWeb教程:(一)学生信息管理 / (二)选课管理系统

前言

一个javaweb系统是怎么搭建起来的?怎么在浏览器访问自己做的系统?怎么使用java和数据库开发一个完整的系统?

本教程带你一步一步入门web程序开发!

  • 第一阶段:学习简单的学生信息管理系统,简单的增删改查功能。
  • 第二阶段:加入更复杂的选课和打分逻辑,不同角色分配不同功能。

如果需要订做课设,也可以找学长订做课设!


学长敲代码教程Javaweb学生信息管理系统Javaweb学生选课管理系统期末课设大约 2 分钟约 698 字
第二阶段:学生选课管理系统

第二阶段:学生选课管理系统

前言

本阶段是在第一阶段的基础上完成的,如果你没有看过第一阶段,请先跟着第一阶段做完后,再做第二阶段!

第一阶段我们完成了:

  • 管理员登录,增删改查学生信息、班级信息
  • 学生登录注册、修改个人信息
  • 其他:验证码、权限等

第二阶段学生选课管理系统,大致功能如下:

  • 加入教师角色
  • 教师可添加开课课程(限制选课人数)
  • 学生选课,教师给自己选课班级的学生打分
  • 统计和分析

学长敲代码教程Javaweb学生信息管理系统Javaweb学生选课管理系统期末课设小于 1 分钟约 241 字
功能需求分析

功能需求分析

提示:

如果文档里面有错误或者疑问,可以通过B站/QQ联系我改正!感谢

上一阶段我们已经创建好了管理员,学生,班级表

这一阶段我们的功能需求细化一下

  • 添加教师角色,管理员可以管理教师(教师编号,教师名)
  • 教师发布课程提供给学生选课,并且只能在规定时间内选课,需要记录选课人数上限和已选课人数!
  • 选课表应该记录选课时间,学生选课后,教师可以对其进行期末评价和打分

学长敲代码教程javaweb大约 2 分钟约 543 字
功能开发

功能开发

🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅🍅

由于我们已经有了增删改查的经验,后面做起来会快很多!大家和我一起化身CV战士吧!

提示:

如果文档里面有错误或者疑问,可以通过B站/QQ联系我改正!感谢

创建实体类

创建好 教师、课程、选课 实体类


学长敲代码教程javaweb小于 1 分钟约 204 字
数据库创建

数据库创建

首先,创建一个数据库,本次教程使用的是mysql数据库,数据库的创建全程使用sql语句进行

如果没有mysql和Navicat,可以看 Mysql8和Navicat下载和安装教程

提示:

如果文档里面有错误或者疑问,可以通过B站提醒我~


学长敲代码教程javaweb大约 1 分钟约 361 字
项目搭建

项目搭建

接下来搭建javaweb的项目

本次教程主要使用idea进行开发,eclipse也是可以的,只要对eclipse的基本使用熟悉就好!

我也会演示一下怎么用eclipse创建项目!

提示:

如果文档里面有错误或者疑问,可以通过B站提醒我~

前端模板下载

我这里使用的是笔下光年这款前端模板,可以直接通过gitee下载:

笔下光年前端模板下载地址


学长敲代码教程javaweb大约 10 分钟约 3003 字
增删改查

增删改查

注意点:

  • 如果代码在运行过程报错,如sql语句可能会书写错误,我们还需要学会通过调试、或者打印自定义日志排查问题。
  • 在写完每个接口,记得测试一下接口是否正常

提示:

如果文档里面有错误或者疑问,可以通过B站提醒我~

分页查询

PagerVO

/**
 * 分页工具
 */
public class PagerVO<T> {
    int current;
    int size;
    int total;
    List<T> list;

    //get set 函数略...
}

学长敲代码教程javaweb大约 17 分钟约 4970 字
2