人人范文网 范文大全

学生管理系统实验报告

发布时间:2020-03-03 03:31:18 来源:范文大全 收藏本文 下载本文 手机版

数据库课程设计报告

-----学生管理系统

一、需求分析

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

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,使用里面的实例做测试,学到不少知识。

学生成绩管理系统实验报告

学生信息管理系统实验报告

《学生信息管理系统》实验报告

PHP学生成绩管理系统综合实验报告

实验报告薪资管理系统

客户关系管理系统实验报告

c语言实验报告三 学生成绩管理系统

学生通讯录管理系统(C语言课程设计实验报告)

VB旅游管理系统实验报告

停车场模拟管理系统实验报告

学生管理系统实验报告
《学生管理系统实验报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档