项目实训-学生信息管理系统(共84页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《项目实训-学生信息管理系统(共84页).doc》由会员分享,可在线阅读,更多相关《项目实训-学生信息管理系统(共84页).doc(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上项目实训学生信息管理系统设计与实现前言:项目概述学生信息管理系统介绍项目名称学生信息管理系统代码量3000行项目简介该系统可以帮助教辅人员进行学生基本信息的日常管理和维护;进行学生选课模拟以及重要数据备份等功能。项目目的 掌握WinForm图形用户界面开发技术 掌握ADO.NET数据库访问技术涉及的主要技术WinForm、ADO.NET、SQL Server数据库环境Microsoft SQL Server 2000编程环境Visual Studio 2005项目特点 基于.NET采用C#语言开发 项目属于C/S结构程序技术重点 WinForm窗体主要控件的应用 数据
2、库各类对象的应用,例如:存储过程、触发器等技术难点ADO.NET数据库访问技术1 项目需求以及分析设计1.1 项目需求分析随着学校规模的不断扩大,每个院系的专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而很多高校的学生信息管理工作仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低。因此,迫切需要开发学生信息管理系统来提高管理工作的效率。经过详细调研,我们确定了一个简易的学生信息管理系统的基本需求。 需要进行身份认证登录系统只允许合法用户进行登陆操作,并且该系统主要面向教学管理人员提供服务(例如教学秘书、辅导员等)。合法用户登陆后可以进行系统的主要功能操作。 数据查询
3、服务系统需要为服务对象提供两种服务:一是进行学生基本信息的浏览;二是进行学生成绩信息查询服务。 数据添加服务系统根据需要可以添加学生基本信息以及添加学生的选课信息等操作。 数据更新服务系统根据需要可以更新学生的基本信息。 数据删除服务系统根据需要可以删除学生的基本信息,但是要求备份删除学生的所有信息。 系统扩展服务本项目限于篇幅等,在后面主要描述并实现了系统登录、学生基本信息浏览、成绩信息查询、学生基本信息的添加、更新和删除以及学生选课的功能。有关其他实体信息的管理,例如:成绩信息、课程信息等维护功能没有实现。但是大家完全可以根据后面系统提供的框架来扩展系统的其他功能。此外,根据需要,我们采用
4、基于C/S结构来开发学生信息管理系统。1.2 项目功能描述根据需求分析,学生信息管理系统为用户提供的功能主要分为以下几类:系统管理服务:系统系统登录、注销以及系统退出功能。数据查询和统计服务:学生基本信息浏览和查询、学生成绩信息查询等功能。数据添加服务:学生基本信息添加、学生选课、其他可以扩展的功能(院系信息添加、课程信息添加、成绩信息添加、管理员账户信息添加等未实现)。数据更新服务:学生基本信息更新、其他可以扩展的功能(院系信息更新、课程信息更新、成绩信息更新、管理员密码修改功能等未实现)。数据删除服务:学生基本信息删除、其他可以扩展的功能(院系信息删除、课程信息删除、成绩信息删除、管理员删
5、除等功能未实现)。系统介绍服务:系统基本信息介绍、系统使用帮助(未实现)等。根据以上系统功能描述,绘制学生信息管理系统的功能模块划分如图14.1.2-1所示。系统登录系统管理注销退出学生基本信息浏览学生成绩信息查询其他功能扩展学生基本信息添加学生选课其他功能扩展学生基本信息更新其他功能扩展学生基本信息删除其他功能扩展关于本系统其他功能扩展数据查询和统计数据添加数据更新数据删除帮助学 生 信 息 管 理 系 统图1.2-1:“学生信息管理系统”功能模块图1.3 数据库设计本系统后台数据库采用的是SQL Server 2000,根据系统的功能描述以及系统的详细设计,学生成绩信息管理系统中各种数据信
6、息之间的关系如图1.3-1所示。图1.3-1:“学生成绩信息管理系统”数据库关系图下面针对图1.3-1中的数据库基本表的具体设计进行详细介绍。表名:admin(管理员表),如表1.3-1所示。字段名称数据类型字段说明字段属性userNameVarchar(20)用户名主键passwordVarchar(20)密码限制最低6位,不能为空表1.3-1:管理员表设计说明表名:Dept(院系表),如表1.3-2所示。字段名称数据类型字段说明字段属性deptIDChar(4)院系编号主键deptNameNvarchar(30)院系名称不许为空且唯一phoneVarchar(12)联系电话表1.3-2:院
7、系表设计说明表名:stu(学生表),如表1.3-3所示。字段名称数据类型字段说明字段属性stuIDChar(12)学号主键stuNameNvarchar(20)姓名不许为空stuSexNchar(1)性别只能输入:男、女stuBirthDatetime出生日期要求年龄不能大于30岁stuPoliticTinyint政治面貌只能输入1、2、3(其中1表示党员,2表示团员,3表示其他)stuDeptChar(4)所属院系参照院系表院系编号取值stuResumeNtext简历stuPhotoImage照片stuPcardChar(18)身份证编号表1.3-3:学生表设计说明表名:course(课程表
8、),如表1.3-4所示。字段名称数据类型字段说明字段属性courseIDChar(6)课程编号主键courseNameNvarchar(30)课程名称不许为空,唯一CreditTinyint学分其值不能大于5courseTimeVarchar(30)上课时间stuLimitedTinyint限选人数默认值:250stuPreSelectTinyint已选人数默认值:0,并且不能大于stuLimited表1.3-4:课程表设计说明表名:grade(成绩表),如表1.3-5所示。字段名称数据类型字段说明字段属性stuIDChar(12)学号参照学生表学号字段取值courseIDChar(6)课程编
9、号参照课程表课程编号字段取值gradeDecimal(5,2)成绩成绩必须介于0和100之间说明:stuID和courseID联合主键表1.3-5:成绩表设计说明2 项目详细设计以及功能实现本章主要任务是从实际应用出发,使学生能够掌握SQL Server 等大型数据库技术,掌握C#+SQL Server等大型数据库软件进行大型数据库桌面应用程序开发的基本过程和基本方法,并能够运用C#进行简单的办公自动化系统编程。在进行项目详细设计之前,首先创建一个名为StuInfoManage的windows应用程序项目。2.1 数据库通用访问类的创建考虑到整个项目中多个窗体的很多位置都需要涉及到数据库的访问
10、操作,所以我们将数据库操作频繁使用的部分代码抽取出来,组合而成数据库访问类,从而避免重复编写相同代码的工作。常见的数据库访问操作主要有:更新操作(包括插入数据、修改数据和删除数据)、查询操作(指直接执行SQL语句进行数据库操作)、存储过程的执行操作(主要包括返回结果集的存储过程以及使用返回值的存储过程)等。在StuInfoManage项目中进行以下操作: 添加一个类:将其中创建的Class1.cs重命名为SqlHelper.cs。 在该类中添加如下代码:public class abstract class SqlHelper /获取数据库连接字符串,其属于静态变量且只读,项目中所有文档可以直
11、接使用,但不能修改 public static readonly string ConnectionString = server = .;database=stuInfoManage;Integrated Security = true; / 执行一个不需要返回值的SqlCommand命令,通过指定专用的连接字符串。 public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter commandParameters) SqlC
12、ommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connectionString) /通过PrePareCommand方法将参数逐个加入到SqlCommand的参数集合中 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); int val = cmd.ExecuteNonQuery(); /清空SqlCommand中的参数列表 cmd.Parameters.Clear(); return val; /
13、执行一条返回SqlDataReader的SqlCommand命令,通过专用的连接字符串。 public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(connectionString); try PrepareCommand(
14、cmd, conn, null, cmdType, cmdText, commandParameters); SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); return rdr; catch conn.Close(); throw; / 执行一条返回DataSet的SqlCommand命令,通过专用的连接字符串。 public static DataSet ExecuteDataset(string connectionString, Command
15、Type commandType, string commandText, params SqlParameter commandParameters) SqlCommand cmd = new SqlCommand(); using (SqlConnection cn = new SqlConnection(connectionString) cn.Open(); PrepareCommand(cmd, cn, (SqlTransaction)null, commandType, commandText, commandParameters); SqlDataAdapter da = new
16、 SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); cmd.Parameters.Clear(); return ds; / 为执行命令准备参数 private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter cmdParms) /判断数据库连接状态 if (conn.State != Connecti
17、onState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = cmdText; /判断是否需要事物处理 if (trans != null) cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null) foreach (SqlParameter parm in cmdParms) cmd.Parameters.Add(parm); /* * 功能:调用存储过程,并返回存储过程返回值的通用方法 * 要执行的存储过程的名称 * 要执行的存
18、储过程中参数的集合 * 区分是查询(1)操作还是更新(2)操作 * 返回存储过程的返回值 */ public int ProcReturnValue(string procName, SqlParameter cmdparam,int DataOpType) SqlConnection sqlconn=new SqlConnection(ConnectionString); try if (sqlconn.State != ConnectionState.Open) sqlconn.Open(); SqlCommand sqlcmd = new SqlCommand(); sqlcmd.Con
19、nection = sqlconn; sqlcmd.CommandText = procName; sqlcmd.CommandType = CommandType.StoredProcedure; if (cmdparam != null) foreach (SqlParameter param in cmdparam) sqlcmd.Parameters.Add(param); sqlcmd.Parameters.Add(new SqlParameter(ReturnValue,SqlDbType.TinyInt); sqlcmd.ParametersReturnValue.Directi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 学生 信息管理 系统 84
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内