学生考试管理系统报告(2)

2019-02-14 22:40

《高级数据库技术(ADO.NET&XML)》课程设计报告

3.设计题目 3.1题目名称

学生在线考试管理系统

3.2题目详细描述

1)登陆界面 2)教师管理界面 3)管理员管理界面 4)学生在线考试

3.3功能要求

1)登陆界面

户对应相应的权限进行登录,分教员、学生、管理员。登录后根据选择的权限进入相

应的界面;入用户名框非空,密码框非空,权限选择判断;学员用户注册。注册后需管理员激活才能登录。

2)教师管理界面

A.试题管理,子菜单如下: 增加试题;

查询试题:按科目查询试题;

试题列表:按难度查询试题列表,并可增加、修改试题。 B.考试管理,子菜单如下: 生成试卷 试卷管理:查看试卷信息、激活/取消试卷 C.成绩管理,按试卷名查寻成绩,要算出平均分。

3)管理员管理界面

A.用户管理,子菜单如下: 新建用户:新建学员用户,新建教员用户

查询及修改学员

用户信息列表,包括查询以及教员学员信息 B.题库管理,管理试题库

4)学生在线考试

学生在线考试,计算成绩等

-3-

《高级数据库技术(ADO.NET&XML)》课程设计报告

4相关技术及知识点 4.1 SqlConnection对象

ADO.NET使用SqlConnection对象与SQL Server进行连接。连接字符串的常用形式有两种: 1.使用

Windows

集成安全身份认证,例如:string

connectionString

=\

或:string connectionString = \Catalog= MyDataBase; Data Source=localhost;Integrated Security=SSPI;\

2.在连接字符串中指定服务器名、用户id、用户口令、数据库名等信息。例如:string connectionString = \

然后通过连接字符串直接创建SqlConnection对象,如SqlConnection conn = new SqlConnection(connectionString);

4.2 SqlCommand对象

在ADO.NET中,有两种操作数据库的方式: 1.无连接的方式; 2.保持连接的方式。

不论采用哪种方式,都可以通过SqlCommand对象提供的方法传递对数据库操作的命令,并返回命令执行的结果。

在保持连接的方式下操作数据库的一般步骤为: 1.创建SqlConnection的实例; 2.创建SqlCommand的实例; 3.打开连接; 4.执行命令; 5.关闭连接。

SqlCommand对象提供了多种完成对数据库操作的方法。常用有:

1.ExecuteNonQuery

该方法执行SQL语句的结果,但不返回命令执行的表数据,仅返回操作所影响的行数。 2.ExecuteReader

ExecuteReader方法提供了只向前的、顺序的快速读取数据库中数据的方法。该方法根据提供的SELECT语句,返回一个可以顺序读取的SqlDataReader对象,编程者可以使用Read方法循环依次读取每个记录中各字段(列)的内容。

3.ExecuteScaler()

该方法用于执行SELECT查询,得到的返回结果为一个值的情况,比如使用count函数求表中记录个数或者使用sum函数求和等

-4-

《高级数据库技术(ADO.NET&XML)》课程设计报告

4.3 SqlDataAdapter对象

SqlDataAdapter对象通过无连接的方式完成数据库和本地DataSet之间的交互。使用这种方式操作数据库的一般步骤为:

1.创建SqlConnection的实例;

2.创建SqlDataAdapter的实例,需要的话,根据select语句生成其他SQL语句; 3.创建DataSet的实例;

4.使用Fill方法将数据库中的表填充到DataSet的表中; 5.利用DataGridView或者其他控件对象编辑或显示数据; 6.需要的话,使用Update方法更新数据库。

SqlDataAdapter对象通过SelectCommand、InsertCommand、UpdateCommand和DeleteCommand属性为后台数据库提供对应的操作命令,并传递需要的参数。一般情况下,只需要提供SELECT语句和连接字符串创建SqlDataAdapter对象,然后利用SqlCommandBuilder对象生成InsertCommand、UpdateCommand和DeleteCommand属性。

4.4 DataGridView的使用

DataGridView 配置数据源

1 右击出现DataGridView任务-->选择数据源-->添加项目数据源-->配置数据源-->测试连接 2 右击出现DataGridView任务-->预览数据-->预览 (可看到配置的数据表内容及行数列数) DataGridView 修改整张表的数据 SqlCommandBuilder对象 代码:

SqlCommandBuilder commBr=SqlCommandBuilder(this.adapter);

int count=this.adapter.Update((DataSet)(this.DataGridView1.DataSource),\表名\MessageBox.show(\变更了\行,已经成功保存到数据库中);

DataGridView异常 判断是否打开连接

判断鼠标单击DataGridView单元格是否超出范围

if (e.ColumnIndex < 0 || e.RowIndex < 0)//判断鼠标点击的位置,超过范围返回 {

return;

}

DataGridViewCheckBoxCell选中处理

DataGridViewCheckBoxColumn的属性设置 FalseValue=false TrueValue=true ReadOnly=true 代码:

DataGridViewCheckBoxCell

chkCell

=

this.DataGridView1.Rows[e.RowIndex].Cells[0]

-5-

as

《高级数据库技术(ADO.NET&XML)》课程设计报告

DataGridViewCheckBoxCell;//DataGridViewCheckBoxColumn在第1 列,索引为0,所以Cells[0]

chkCell.EditingCellFormattedValue = !(bool)chkCell.EditingCellFormattedValue;

chkCell.Value = chkCell.EditingCellFormattedValue;

判断单元格类型(判断点击的DataGridView控件当前的单元格是什么类型的) DataGridView1[e.ColumnIndex, e.RowIndex] is DataGridViewLinkCell DataGridView某行变为只读(点击DataGridView当前行变为只读的)

this.DataGridView1.Rows[e.RowIndex].ReadOnly=true //true只读的,false可写的 单元格类型转换(将鼠标单击当前单元格转换成DataGridViewLinkCell类型的) DataGridViewLinkCell

links

=

dgvProductShow[e.ColumnIndex,

e.RowIndex]

as

DataGridViewLinkCell; if (links.Value.ToString() == \编辑\如果当前单元格转换为DataGridViewLinkCell,并且值是编辑 {

//具体操作 }

4.5 DataSet对象

1. 创建DataSet对象

使用创建的DataSet对象可以完成各种数据操作,利用向导生成的数据库数据源是一个强类型的DataSet以及一对或多对强类型的DataTable和TableAdapter的组合。类型化的DataSet是一个生成的类,是从.NET Framework的一般DataSet类衍生来的,但提供了已定义的架构以及特定于该架构的属性和方法。同时,对于DataSet中的每个表,还生成了特定于该DataSet的附加衍生类,而且每个类都为相关的表提供了特定的架构、属性和方法。 当然,也可以直接创建一般的DataSet对象,例如: DataSet myDataset = new DataSet();

2. 填充DataSet对象

创建DataSet后,就可以使用SqlDataAdapter对象把数据导入到DataSet对象中,比如通过Fill方法将数据填充到DataSet中的某个表中。

4.6 DBHelper类

class DBHelper {

public static string constr = @\我的文档ADO\\Y122092\\Y122092\\考试管理系统\\考试管理系统\\考试管理系统\\客户信息Y122092.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True\ public static SqlConnection connection = new SqlConnection(constr); }

-6-

《高级数据库技术(ADO.NET&XML)》课程设计报告

}

4.7 使用 try-catch-finally 进行异常处理

try { }

catch(Exception ex) {

MessageBox.Show(ex.Message); } finally {

DBHelper.connection .Close() ; }

-7-


学生考试管理系统报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:图像测量系统项目可行性研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: