《高级数据库技术课程设计报告学生考试管理系统》由会员分享,可在线阅读,更多相关《高级数据库技术课程设计报告学生考试管理系统(20页珍藏版)》请在金锄头文库上搜索。
1、目录1. 设计目的和任务12.开发环境12.1硬件环境12.2软件环境13.设计题目13.1题目名称13.2题目详细描述13.3功能要求24.相关技术及知识点34.1 SqlConnection对象34.2 SqlCommand对象34.3 SqlDataAdapter对象44.4 DataTable对象44.5 DataSet对象55.设计与实现65.1登录界面65.2教师管理界面75.3管理员管理界面125.4学生考试界面146.总结187.参考资料191. 设计目的和任务 综合运用ADO.NET 相关知识,设计一个具有实用价值的学生考试管理系统。 (1)巩固和加深对本课程基本知识的理解和
2、掌握; (2)掌握C#编程和ADO.NET程序调试的基本技能; (3)掌握设计ADO.NET应用软件的基本思路和方法; (4)提高运用ADO.NET解决实际问题的能力; (5)培养撰写设计报告的能力。 2.开发环境2.1硬件环境笔记本电脑硬件概要CPU 英特尔 Genuine Intel(R) CPU T2130 1.86GHz主板Wistron - 英特尔 945PM (Calistoga-PM) + ICH7-M/U内存金士顿 2G DDR2-SDRAM 666 MHz 显卡nVIDIA GeForce Go 7200 (G72)主硬盘希捷 120GB 声卡英特尔 82801GB ICH7
3、 - High Definition Audio B0网卡英特尔 PRO/Wireless 3945ABG Network Connection (HP - RoW)2.2软件环境Microsoft Windows XP操作系统;Microsoft SQL Server 2005;Microsoft Visual Studio 2005;3.设计题目3.1题目名称学生考试管理系统3.2题目详细描述1、登录界面 2、新用户注册 3、教师管理界面 4、管理员管理界面 5、学生在线考试 3.3功能要求登录界面 功能: 1) 用户对应相应的权限进行登录,分教员、学生、管理员。登录后根据选择的权限进入相
4、应的界面; 2) 输入用户名框非空,密码框非空,权限选择判断; 3) 新学员用户注册。注册后需管理员激活才能登录。教师管理界面 功能(按菜单项说明): 1) 试题管理,子菜单如下: 增加试题; 查询试题:按科目查询试题; 试题列表:按难度查询试题列表,并可增加、修改试题。 2) 考试管理,子菜单如下: 生成试卷; 试卷管理:查看试卷信息、激活/取消试卷。 3) 成绩管理,按试卷名查寻成绩。要算出平均分。管理员管理界面功能(按菜单项说明): 1) 用户管理,子菜单如下: 新建用户:新建学员用户,新建教员用户。 查询及修改学员。 用户信息列表,包括查询以及教员学员信息 2) 题库管理,管理试题库
5、学生在线考试 1) 维护个人信息 对个人信息进行查询, 修改2)在线答题。功能:可以选择已激活试卷答题。 在线评分。 保存考试成绩可供教师查询。4.相关技术及知识点ADO.NET提供了多种对象模型,比较典型的以下有五种,它们全部归类System.Data.SqlClient名称空间下。4.1 SqlConnection对象ADO.NET使用SqlConnection对象与SQL Server进行连接。连接字符串的常用形式有两种:1.使用Windows集成安全身份认证, 例如:string connectionString =IntegratedSecurity=SSPI;Database=My
6、School.mdf;Server=localhost;2.在连接字符串中指定服务器名、用户id、用户口令、数据库名等信息。 例如:string connectionString = server=localhost; uid=sa; pwd=123; database=MySchool.mdf;然后通过连接字符串直接创建SqlConnection对象,如SqlConnection conn = new SqlConnection(connectionString);4.2 SqlCommand对象 在ADO.NET中,有两种操作数据库的方式:1.无连接的方式;2.保持连接的方式。不论哪种都可
7、以通过SqlCommand对象提供的方法传递对数据库操作的命令,并返回命令执行结果。在保持连接的方式下操作数据库的一般步骤为:1.创建SqlConnection的实例;2.创建SqlCommand的实例;3.打开连接;4.执行命令;5.关闭连接。SqlCommand对象提供了多种完成对数据库操作的方法。常用有:1.ExecuteNonQuery该方法执行SQL语句的结果,但不返回命令执行的表数据,仅返回操作所影响的行数。2.ExecuteReaderExecuteReader方法提供了只向前的、顺序的快速读取数据库中数据的方法。3.ExecuteScaler()该方法用于执行SELECT查询,
8、得到的返回结果为一个值的情况,比如使用count函数求表中记录个数或者使用sum函数求和等。4.3 SqlDataAdapter对象 SqlDataAdapter对象通过无连接的方式完成数据库和本地DataSet之间的交互。使用这种方式操作数据库的一般步骤为:1.创建SqlConnection的实例;2.创建SqlDataAdapter的实例,需要的话,根据select语句生成其他SQL语句;3.创建DataSet的实例;4.使用Fill方法将数据库中的表填充到DataSet的表中;5.利用DataGridView或者其他控件对象编辑或显示数据;6.需要的话,使用Update方法更新数据库。S
9、qlDataAdapter对象通过SelectCommand、InsertCommand、UpdateCommand和DeleteCommand属性为后台数据库提供对应的操作命令,并传递需要的参数。一般情况下,只需要提供SELECT语句和连接字符串创建SqlDataAdapter对象,然后利用SqlCommandBuilder对象生成InsertCommand、UpdateCommand和DeleteCommand属性。4.4 DataTable对象 ADO.NET可以在与数据库断开连接的方式下通过DataSet或DataTable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更
10、新数据源。DataTable对象表示保存在本机内存中的表,它提供了对表中行列数据对象的各种操作。可以直接将数据从数据库填充到DataTable对象中,也可以将DataTable对象添加到现有的DataSet对象中。在断开连接的方式下,DataSet对象提供了和关系数据库一样的关系数据模型,代码中可以直接访问DataSet对象中的DataTable对象,也可以添加、删除DataTable对象。1. 创建DataTable对象可以通过以下两种方式创建DataTable对象:1) 通过DataTable类的构造函数创建DataTable对象,例如:DataTable table = new Data
11、Table();2) 通过DataSet的Tables对象的Add方法创建DataTable对象,例如:DataSet dataset = new DataSet();DataTable table = dataset.Tables.Add(MyTableName);2. 在DataTable对象中添加列在DataTable对象中添加列的最常用的方法是通过DataTable对象的Column属性中的Add方法。添加后的每一列都是一个DataColumn对象。3. 设置DataTable对象的主键关系数据库中的表一般都有一个主键,用来惟一标识表中的每一行记录。通过DataTable对象的Prim
12、aryKey属性可以设置Datatable的主键。主键可以是一个或者多个DataColumn对象组成的数组。例如:DataColumn key = new DataColumn1;/dt是一个DataTable对象key0 = dt.Columns0;dt.PrimaryKey = key;4. 在DataTable对象中创建行DataTable对象的每一行都是一个DataRow对象,所以创建行时可以先利用DataTable对象的NewRow方法创建一个DataRow对象,并设置新行中各列的数据,然后利用Add方法将DataRow对象添加到表中5. 将SQL Server数据库中的表填充到Da
13、taTable中除了可以直接创建DataTable对象的行列信息外,也可以通过DateAdapter对象的Fill方法将SQL Server数据库中的表填充到DataTable对象中。4.5 DataSet对象1. 创建DataSet对象使用创建的DataSet对象可以完成各种数据操作,利用向导生成的数据库数据源是一个强类型的DataSet以及一对或多对强类型的DataTable和TableAdapter的组合。类型化的DataSet是一个生成的类,是从.NET Framework的一般DataSet类衍生来的,但提供了已定义的架构以及特定于该架构的属性和方法。同时,对于DataSet中的每个
14、表,还生成了特定于该DataSet的附加衍生类,而且每个类都为相关的表提供了特定的架构、属性和方法。当然,也可以直接创建一般的DataSet对象,例如:DataSet myDataset = new DataSet();2. 填充DataSet对象创建DataSet后,就可以使用SqlDataAdapter对象把数据导入到DataSet对象中,比如通过Fill方法将数据填充到DataSet中的某个表中。5.设计与实现(包括每个设计点的文字描述,图表,关键代码) (该说明在最终报告里面要删除!)5.1登录界面在登录界面(图5-1)用户对应相应的权限选择用户类型进行登录,分教员、学生、管理员。登录后根据选择的权限进入相应的界面。输入用户名框非空,密码框非空,权限选择判断;登录界面还有新用户注册,同样是选择不同用户类型进行注册。注册后需管理员激活才能登录。还有一个就是找回密码,用户通过输入用户名和姓名等信息找回密码。 图5-1登录界面代码: if (ValidateInput() / 验证输入成功