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;
 else
 return 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());
 else
 return -1;
 }

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

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

  • 22
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值