学生管理系统实验报告_实验报告管理系统报告

2020-02-28 其他范文 下载本文

学生管理系统实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“实验报告管理系统报告”。

数据库课程设计报告

-----学生管理系统一、需求分析

根据老师的要求,我主要把精力集中在学生选课的功能实现上,角色分为管理员与学生 实现功能包括如下两部分:

A.学生端实现功能:

1.系统管理:登陆,退出

2.学籍管理:新生注册,修改信息

3.选课管理:选课,我的课表

4.成绩管理(查询个人成绩)

B.管理员端实现功能:

1.系统管理:登录,修改密码

2.学生信息管理:显示学生列表,更改学生状态录入学生各学期科目成绩、修改

3.选课管理:添加、删除选课,显示选课列表,添加选课成绩

4.成绩管理:查看成绩,统计成绩

二.概念结构设计

实体联系图如下:

三.逻辑设计

关系模型:

学生(学号,姓名,密码,性别,专业,入学日期)

课程(ID,课程名,课时)

学期(ID,学期名称)

安排(ID,学期ID,课程ID,老师,地点,教材名)

选课(安排ID,学号,成绩,是否定教材,审核)

状态(ID,状态名)

管理员(ID,姓名,密码)

四.物理结构设计

数据表及关系:

五.系统实施

主要分三层:

表现层,数据访问层,数据存储层(参照《C#网络应用开发例学与实践》实现)这样分层,降低耦合度,便于查错及修改

六.知识点总结

1.使用ADO.NET访问数据库的过程

//新建连接对象

SqlConnection conn = new SqlConnection();

conn.ConnectionString = “Data Source=(local);Initial Catalog=School;Integrated Security=True”;

//新建命令对象

SqlCommand cmd = new SqlCommand(“UpdateStudentInfo”, conn);

//指定命令类型为存储过程

cmd.CommandType = CommandType.StoredProcedure;

//添加参数

cmd.Parameters.Add(new SqlParameter(“@userName”, userName));

cmd.Parameters.Add(new SqlParameter(“@userID”, userID));

conn.Open();

//保存执行结果

int recordsAffected = cmd.ExecuteNonQuery();

conn.Close();

2.引用类型与值类型

SqlParameter(“@isBook”, “0”);对

SqlParameter(“@isBook”, 0);错

“@isBook int ”

SqlParameter 构造函数(String, Object)Object不能对应int类型

3.模糊查询的过程

A.CREATE PROCEDURE [dbo].[Pr_GetMyScore]

(@stuNum varchar(50)= null,@termIDvarchar(20)= null,@courseName varchar(50)= null)

AS

BEGIN

SELECT

[term].[name] AS 学期,[arrange].arrangeID AS 选课编号,[course].[Name] AS 课程名称,FROM[elective],[arrange],[term],[course]

WHERE[arrange].[termID] = [term].[termID]

and[arrange].[courseID] =[course].[courseID]

and[arrange].[arrangeID] = [elective].[arrangeID]

AND(@termID='0' OR [arrange].[termID]=@termID)

AND(@courseName IS NULL OR [course].[Name]like '%' + @courseName + '%')

AND(@stuNum IS NULL OR [elective].[stuID]=@stuNum)

AND[course].courseID = [arrange].courseID

END

B.CREATE PROCEDURE [dbo].[Pr_GetScore]

(@stuNum varchar(50)= null,@courseName varchar(50)= null,)

AS

BEGIN

SET NOCOUNT ON;

DECLARE @sql varchar(8000)

SET @sql=' SELECT

[elective].[stuID] AS 学号, [student].[name] AS 姓名,[arrange].arrangeID AS 选课编号,FROM[elective],[arrange],[course],[student]

WHERE[arrange].[courseID] =[course].[courseID]

and [arrange].[arrangeID] = [elective].[arrangeID]

AND[student].[stuID] = [elective].[stuID]'

IF @stuNum IS NOT NULL

SET @sql=@sql+' AND [elective].[stuID]='+''''+@stuNum+''''

IF @courseName IS NOT NULL

SET @sql=@sql+' AND [course].[Name] like '+'''%' +@courseName+'%'''

EXEC(@sql)

END

七.实验感想

在实训之前,我接触过一些.NET的知识,那时更多的是看实例,然后照搬过来做,对ADO.NET模型不是很了解,这次实训,我又系统地看了一下ADO.NET的基础,加深了对ADO.NET的理解,明白两个核心组件DataSet和.NET Framework的任务。我觉得理论加实践,才能加深对知识的理解,提高处理问题的能力。

做项目,如果从数据库开始分析,把表设计好,那么进行业务逻辑层的设计就很容易实现,也便于以后的扩展。

通过这次的学习,我又接触了很多的.NET控件,(DataGridView,ListView),在遇到不懂的问题,或者解答同学提出的问题时,我尽量查MSDN,使用里面的实例做测试,学到不少知识。

《学生管理系统实验报告.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
学生管理系统实验报告
点击下载文档
相关专题 实验报告管理系统报告 学生 管理系统 实验报告 实验报告管理系统报告 学生 管理系统 实验报告
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文