ASP.NET 网上选课系统的设计与实现

1 系统设计与实现
1.1 数据库设计
为充分保护数据的一致性,数据库中各表都规范化设计,下图是系统数据库中使用的表以及各表之间的关系:
在这里插入图片描述

下面就各个表分别给出说明:
(1)课程基本信息(CourseInfo)表,保存课程的基本信息:

添加图片注释,不超过 140 字(可选)

1CourseID:课程ID,自动编号;
2CourseName:课程名称;
3TeacherID:教师ID,对应TeacherInfo表的TeacherID;
4CourseDes:课程描述;
5IsDeleted:是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;
6MajorID:专业ID,此课程对应的专业,与MajorInfo表的MajorID对应;
(2)专业基本信息(MajorInfo)表,保存各院系的专业基本信息:

添加图片注释,不超过 140 字(可选)

1MajorID:专业ID,自动编号;
2MajorName:专业名称;
3DeptID:院系ID,对应DeptInfo表的DeptID;
4IsDeleted:是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;
(3)学生选课信息(StuCourse)表,保存学生的选课信息:

添加图片注释,不超过 140 字(可选)

1StuCourseID:选课ID,自动编号;
2StudentID:学生ID,对应StudentInfo表的StudentID字段;
3CourseID:课程ID,对应CourseInfo表的CourseID字段;
此表中的每一条记录表示了某一个学生选择了某一门课程。

(4)院系基本信息(DeptInfo)表,保存学校的院系信息:

添加图片注释,不超过 140 字(可选)

(5)教师基本信息(TeacherInfo)表,保存学校教师的基本信息:

添加图片注释,不超过 140 字(可选)

1TeacherID:教师ID,自动编号;
2TeacherName:教师姓名;
3TeacherNumber:教师工号;
4DeptID:教师所属专业ID,对应DeptInfo表的DeptId字段;
5IsDeleted:是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;
(6)学生基本信息(TeacherInfo)表,保存学校学生的基本信息:

添加图片注释,不超过 140 字(可选)

1StudentID:学生ID,自动编号;
2StudentName:学生姓名;
3StudentNumber:学生学号;
4StudentGender:学生性别;
5DeptID:学生所属专业ID,对应DeptInfo表的DeptId字段;
6MajorID:学生所属院系ID;
7IsDeleted:是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;
(7)登录信息(Users)表,保存登录账号信息:

添加图片注释,不超过 140 字(可选)

1UserID:账号ID,自动编号;
2Name:登录名称;
3Pass:登录密码;
4Type:账号类型,1为管理员,2为教师,3为学生;
5ID:登录者身份ID,如为管理员,则此字段表示管理员ID,如为教师,则此字段表示教师ID。
1.1 模块设计
1.1.1 登录模块设计
登录页面为系统的起始页面,登录界面设计如下图所示:

添加图片注释,不超过 140 字(可选)

登录模块的功能是判断登录用户的权限以及将用户导航到不同的页面,管理员、教师和学生登录后的页面都是不相同的。在这个模块使用到了Auth这个类来完成主要的登录操作。
主要代码如下:
///

 /// 判断用户名和密码是否正确/// </summary>public bool Login(string name, string pass){string sqlString = "select count(*) from Users where name='"+name+"' and pass='"+pass+"'";object obj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);if(obj!=null && obj.ToString()!="0")return true;elsereturn false;}
 /// <summary>/// 判断登录类型,1为学生,2为老师,3为管理员/// </summary>public int LoginType(string name){string sqlString = "select type from Users where name='"+name+"'";object obj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);if(obj!=null && obj.ToString()!="0")return int.Parse(obj.ToString());elsereturn -1;}

登录时调用此函数,传入参数分别为用户名和密码,函数中对传入的用户名和密码与数据库中的查询结果比较,如果正确,返回true,否则返回false,完成登录账号判断。

链接:https://pan.baidu.com/s/1Xwd0U_KktL0hRFPaggIOGQ?pwd=6688
提取码:6688

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端需要掌握的技术有哪些方面

上一篇文章说了些前端这个岗位在整个项目开发过程中的重要性&#xff0c;那么&#xff0c;下面我们来谈谈前端在做项目时需要掌握的技术有哪些方面&#xff1f; 前端开发需要掌握的技术包括以下几个方面&#xff1a; 1.HTML&#xff1a;HTML是网页的基础骨架&#xff0c;是网…

反序列化漏洞详解(三)

目录 一、wakeup绕过 二、引用 三、session反序列化漏洞 3.1 php方式存取session格式 3.2 php_serialize方式存取session格式 3.3 php_binary方式存取session格式 3.4 代码演示 3.5 session例题获取flag 四、phar反序列化漏洞 4.1 phar常识 4.2 代码演示 4.3 phar例…

网络图片转化成base64

也许今天比较无聊&#xff0c;突然想前端怎么把图片缓存的本地&#xff1f;如果是数据流&#xff0c;直接保存到localStorage&#xff0c;但是如果是网络url地址怎么办&#xff1f;存个url肯定没有什么意义&#xff0c;苦思冥想还是把图片保存为base64格式&#xff0c;这又遇到…

MDK ARM环境下的伪指令的测试

目录 测试目标&#xff1a; 测试代码&#xff1a; 1. start.s 2. align.s 测试结果&#xff1a; 1 .ldr伪指令的测试结果: 2 .align伪操作测试结果: 结果分析&#xff1a; 测试目标&#xff1a; 熟悉ARM处理器的伪指令&#xff0c;本次实验主要来练习ldr伪指令和align…

❀My学习Linux命令小记录(7)❀

目录 ❀My学习Linux命令小记录&#xff08;7&#xff09;❀ 31.scp指令 32.ln指令 33.mount指令 34.useradd指令 35.usermod指令 ❀My学习Linux命令小记录&#xff08;7&#xff09;❀ 31.scp指令 功能说明&#xff1a;加密的方式在本地主机和远程主机之间复制文件。 …

09 C++ 中的循环(while循环、do-while循环、for循环及嵌套循环)

系列文章目录 09 C 中的循环&#xff08;while循环、do-while循环、for循环及嵌套循环&#xff09; 目录 系列文章目录 文章目录 前言 一、C 中的 while 循环 二、C for 循环 三、C do...while 循环 四、C 嵌套循环 总结 前言 C中的循环指的是重复执行一段程序代码的…

你不得不知道的工业镜头使用中的常见问题

镜头的基本功能就是实现光束变换&#xff08;调制&#xff09;&#xff0c;在机器视觉系统中&#xff0c;工业镜头的主要作用是将目标成像在图像传感器的光敏面上。工业镜头是机器视觉系统设计的重要环节。在实际应用过程中&#xff0c;会遇到以下常见问题。 1、Q&#xff1a;…

附近最小(st表,线段树,单调队列三种解法)

问题描述 小蓝有一个序列 a[1],a[2],…,a[n]。 给定一个正整数 k&#xff0c;请问对于每一个 1 到 n 之间的序号 i&#xff0c;a[i−k]&#xff0c;a[i−k1]&#xff0c;…&#xff0c;a[ik] 这2k1 个数中的最小值是多少&#xff1f; 当某个下标超过 1 到 n 的范围时&#xf…

力扣543. 二叉树的直径(java DFS解法)

Problem: 543. 二叉树的直径 文章目录 题目描述思路解题方法复杂度Code 题目描述 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们…

OGG实现Oracle19C到postgreSQL14的实时同步

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

人工智能算法

人工智能算法包括以下几类&#xff1a; 机器学习算法&#xff1a;这些算法利用数据和统计技术让计算机学习并改善其性能&#xff0c;包括监督学习、无监督学习和强化学习。 典型算法&#xff1a; 监督学习&#xff1a;线性回归、决策树、支持向量机&#xff08;SVM&#xff09;…

用户帐户限制(例如,时间限制)会阳止你登录。请与系统管理员或技术支持联系以获取帮助

出现的问题 用户帐户限制(例如&#xff0c;时间限制)会阳止你登录。请与系统管理员或技术支持联系以获取帮助 2.解决方法 使用WINR召唤出运行&#xff0c;然后输入secpol.msc,然后点击回车键&#xff0c;进入本地安全策略&#xff0c;在左边栏中找到本地策略&#xff0c;再…

TextCNN文本分类快速上手

这里写目录标题 TextCNN介绍&#xff1a;Docker从0安装Docker基于镜像安装容器打包操作&#xff08;生成镜像时使用的命令&#xff09;安装时命令 页面访问模型训练API访问性能测试其他查看显卡信息 TextCNN介绍&#xff1a; 1.支持语义识别和分类置信度输出。 2.训练速度快&…

HNU-公共钥匙盒

【问题描述】 有一个学校的老师共用N个教室&#xff0c;按照规定&#xff0c;所有的钥匙都必须放在公共钥匙盒里&#xff0c;老师不能带钥匙回家。每次老师上课前&#xff0c;都从公共钥匙盒里找到自己上课的教室的钥匙去开门&#xff0c;上完课后&#xff0c;再将钥匙放回到钥…

在动态时代引领软件领导地位

在职业追求领域&#xff0c;存在一种常见的误解&#xff0c;认为管理软件开发类似于骑自行车——一种静态技能&#xff0c;一旦获得&#xff0c;只需极少的调整就可以平稳地向前推进。然而&#xff0c;在快速发展的技术领域&#xff0c;这种比较不仅过于简单化&#xff0c;而且…

如何设计适合数字化转型需要的数据架构

现代组织需要一个模块化的数据架构来支持复杂的企业环境&#xff0c;同时为业务用户提供数据访问。以下是一些关键考虑因素。 一重视元数据的管理 数据架构不断发展以提供由元数据支持的数据自助服务 过去几十年来&#xff0c;数据分析架构最佳实践已经经历了多个时代&#…

linux服务器环境搭建(使用yum 安装mysql、jdk、redis)

一:yum的安装 1:下载yum安装包并解压 wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz tar xvf yum-3.2.28.tar.gz 2.进入yum-3.2.28文件夹中进行安装,执行安装指令 cd yum-3.2.28 sudo apt install yum 3.更新版本 yum check-update yum update yum cle…

【算法思考记录】力扣2653. 滑动子数组的美丽值【C++,滑动窗口】

Problem: 2653. 滑动子数组的美丽值 滑动子数组的美丽值 问题描述 给定一个长度为 n 的整数数组 nums&#xff0c;我们需要计算每个长度为 k 的子数组的美丽值。 美丽值的定义如下&#xff1a;如果子数组中第 x 小的整数是负数&#xff0c;那么美丽值为第 x 小的数&#xff…

基于微博的信息热度评价与预测分析

摘 要 微博已成为时下非常热门的社交媒体平台&#xff0c;是一个庞大的关于信息分享和话题交流的平台&#xff0c;在人们线上社交活动中发挥着不可替代的作用&#xff0c;由于网络信息鱼龙混杂&#xff0c;所以本文通过了解微博的热度机制进而研究微博热度和预测微博的热门程度…

WebGL开发数据可视化应用

WebGL 是一种强大的图形渲染技术&#xff0c;用于在浏览器中创建高性能的交互式数据可视化应用。以下是开发这类应用的一般技术方案&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.WebGL 框架&…