联系方式: 微信:biyebang QQ: 629001810
系统设计
为充分保护数据的一致性,数据库中各表都规范化设计,下图是系统数据库中使用的表以及各表之间的关系:
下面就各个表分别给出说明:
1CourseID:课程ID,自动编号;
2CourseName:课程名称;
3TeacherID:教师ID,对应TeacherInfo表的TeacherID;
4CourseDes:课程描述;
5IsDeleted:是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;
6MajorID:专业ID,此课程对应的专业,与MajorInfo表的MajorID对应;
(2)专业基本信息(MajorInfo)表,保存各院系的专业基本信息:
1MajorID:专业ID,自动编号;
2MajorName:专业名称;
3DeptID:院系ID,对应DeptInfo表的DeptID;
4IsDeleted:是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;
(3)学生选课信息(StuCourse)表,保存学生的选课信息:
1StuCourseID:选课ID,自动编号;
2StudentID:学生ID,对应StudentInfo表的StudentID字段;
3CourseID:课程ID,对应CourseInfo表的CourseID字段;
此表中的每一条记录表示了某一个学生选择了某一门课程。
(4)院系基本信息(DeptInfo)表,保存学校的院系信息:
1DeptID:院系ID,自动编号;
2DeptName:院系名称;
3IsDeleted:是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;
(5)教师基本信息(TeacherInfo)表,保存学校教师的基本信息:
1TeacherID:教师ID,自动编号;
2TeacherName:教师姓名;
3TeacherNumber:教师工号;
4DeptID:教师所属专业ID,对应DeptInfo表的DeptId字段;
5IsDeleted:是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;
(6)学生基本信息(TeacherInfo)表,保存学校学生的基本信息:
1StudentID:学生ID,自动编号;
2StudentName:学生姓名;
3StudentNumber:学生学号;
4StudentGender:学生性别;
5DeptID:学生所属专业ID,对应DeptInfo表的DeptId字段;
6MajorID:学生所属院系ID;
7IsDeleted:是否删除,为保证数据安全,删除时并不物理删除,只将此字段置1;
(7)登录信息(Users)表,保存登录账号信息:
1UserID:账号ID,自动编号;
2Name:登录名称;
3Pass:登录密码;
4Type:账号类型,1为管理员,2为教师,3为学生;
5ID:登录者身份ID,如为管理员,则此字段表示管理员ID,如为教师,则此字段表示教师ID。
系统实现
登录页面为系统的起始页面,登录界面设计如下图所示:
登录模块的功能是判断登录用户的权限以及将用户导航到不同的页面,管理员、教师和学生登录后的页面都是不相同的。在这个模块使用到了Auth这个类来完成主要的登录操作。
主要代码如下:
///<summary>
///判断用户名和密码是否正确
///</summary>
publicbool Login(string name, string pass)
{
stringsqlString = "select count(*) fromUsers where name='"+name+"' and pass='"+pass+"'";
objectobj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);
if(obj!=null&& obj.ToString()!="0")
returntrue;
else
returnfalse;
}
///<summary>
///判断登录类型,1为学生,2为老师,3为管理员
///</summary>
publicint LoginType(string name)
{
stringsqlString = "select type from Userswhere name='"+name+"'";
objectobj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);
if(obj!=null&& obj.ToString()!="0")
returnint.Parse(obj.ToString());
else
return-1;
}
登录时调用此函数,传入参数分别为用户名和密码,函数中对传入的用户名和密码与数据库中的查询结果比较,如果正确,返回true,否则返回false,完成登录账号判断。
院系管理为在线选课系统提供院系信息管理功能,用户可通过它来对学校的院系信息进行添加、修改、删除操作。
院系管理截图如下:
主要代码如下:
if(txtName.Text=="")
Response.Write("<scriptdefer>alert('名称不允许未空');</script>");
elseif(txtName.Text.Length>20)
{
Response.Write("<scriptdefer>alert('最多20个字符');</script>");
}
else
{
CourseBiz.Deptdept = new CourseBiz.Dept();
if(Request["Action"]=="add")//插入院系信息
dept.InsertDeptInfo(txtName.Text.Trim());
else//更新专业信息
dept.UpdateDeptInfo(txtName.Text.Trim(),int.Parse(txtNumber.Text));
stringstr = "<scriptlanguage=javascript>window.dialogArguments.document.location.href='Dept.aspx';window.close();</script>";
Response.Write(str);
}
专业管理为在线选课系统提供专业信息管理功能,用户可通过它来对学校的专业信息进行添加、修改、删除操作。
主要代码与院系管理模块代码类似。
课程管理为在线选课系统提供课程管理功能,用户通过课程管理可对学校的课程进行添加、修改、删除操作。在课程管理中,可以为课程设置授课教师、以及授课专业等信息。
主要代码如与院系管理模块代码类似.
源文件
版权所有© 帮我毕业网 并保留所有权利