6.3 存储过程及事务的创建
存储过程、事务的处理和控制属于数据库开发的高级技术。使用存储过程可以充分利用服务器的高性能运算能力,并且无需把大量的结果数据集发送到客户端进行处理,从而大量减少网络数据传输的开销,提高了应用程序访问数据库的速度和效率。事务处理和控制使得复杂数据库应用系统运行得更加安全、稳定,并且保证应用系统具有可预测性[10]。随着电子商务、电子政务等各类数据库应用系统的迅速发展,事务技术广泛应用于数据库应用系统中,并为保证系统的可靠性提供了极大的支持。
因为使用存储过程和事务技术可以给系统带来优化,所以系统将很大程序地使用存储过程和事务技术,在系统中应用了7个存储过程,以Add开头存储过程为系统中信息添加的存储过程。这些存储过程将会在系统程序文件的后台应用中调用。
(1)AddStu存储过程。AddStu存储过程用于向学生用户信息表中添加新的用户信息,并使用了事务技术,确保向数据库插入一条完整的记录,保证数据的完整性。
(2)Addketi存储过程。Addketi存储过程用于向课题信息表添加新的课题信息,并使用了事务技术,确保向数据库插入一条完整的记录,保证数据的完整性。
(3)Searchkt存储过程。Searchkt存储过程用于搜索课题信息表中的相关课题信息,实现系统的按类搜索功能。
(4)Addprechoice存储过程。Addprechoice存储过程用于向预选结果信息表添加新的预选结果。
(5)Addchoice存储过程。Addchoice存储过程用于向正选结果信息表添加新的正选结果。
(6)NewsAdd存储过程。NewsAdd存储过程用于向公告信息表中添加新的公告信息。 (7)NewsDetail存储过程。NewsDetail存储过程通过记录用户单击的公告编号,进行查询数据库中公告信息。
7 系统界面代码和实现
ASP.NET页面实际上仅仅是一个文本文件,它在服务端执行,再格式发送到浏览器,工作在典型的B/S(浏览器/服务器结构)系统。
7.1 配置Web.config文件
Web.config文件是一个XML文件,它用来储存ASP.NET Web应用程序的配置信息(如最常用的设置ASP.NET Web应用程序的身份验证方式),它可以出现在应用程序的每一个目录中[11]。在
- 18 -
Security=SSPI;server=ALICE;Trusted_Connection=true;database=Ketisystem;\
7.2 系统登录界面
为了加强系统数据的安全性,避免产生数据非法操作和失秘等情况的发生,本系统特别设置了管理员登陆功能和学生用户登录功能。只有管理员经过系统验证后才能正常管理本系统,本系统管理员的用户名和登录密码存放在数据库中的系统管理员信息表中,只有合法用户才能以管理员身份登录。登录功能实现源程序分为两部分,一部分是前台界面,另一部分是后台传输数据与数据库对比。本界面还具有新用户注册功能。界面如下图7-1所示。
图7-1 系统登录界面
(1) 实现管理员登录按钮重定向的代码如下:
private void btnadmin_Click(object sender, System.EventArgs e)
{
Session[\ //保存管理员用户名 SqlConnection objconn = new SqlConnection (ConfigurationSettings.AppSettings
[\ //创建数据库连接对象
objconn.Open (); //打开数据库连接
string strsql = \+\
SqlCommand objcmd= new SqlCommand (strsql,objconn); //创建命令对象 SqlDataReader dr=objcmd.ExecuteReader(); if(dr.Read ()) //如果能读取到数据,即可登录本系统管理员界面 { Response.Redirect (\ } }
- 19 -
(2) 实现学生用户登录按钮重定向的代码如下:
private void btnstu_Click(object sender, System.EventArgs e)
{
Session[\ //保存学生用户名
SqlConnection objconn = new SqlConnection
(ConfigurationSettings.AppSettings [\ //创建数据库连接对象
objconn.Open (); //打开数据库连接
string strsql = \+\
SqlCommand objcmd= new SqlCommand (strsql,objconn); SqlDataReader dr=objcmd.ExecuteReader(); //创建命令对象 if(dr.Read ()) //如果能读取到数据,即可登录本系统学生用户界面 { Response.Redirect (\ } }
(3) 实现新用户注册按钮重定向的代码如下:
private void btnreg_Click(object sender, System.EventArgs e)
{
Response.Redirect (\连接到新用户注册界面 }
7.3 系统管理员主界面
当管理员通过验证后就会登录到管理员主界面,此界面,管理员可进行课题信息管理、学生信息管理、课题选择信息管理及公告信息管理,管理员界面如下图7-2所示。
图7-2 系统管理员主界面
7.3.1 课题信息管理界面
此界面具有查看课题相关信息、编辑课题信息及添加新课题信息功能,查看课题信息
- 20 -
时可以按课题ID、课题名称、指导进行排序。如图7-3所示。
图7-3 课题信息管理界面
在文本框中输入待编辑课题ID,单击进入编辑按钮即可进入课题编辑界面,可以对具体的课题信息进行修改或删除,数据送回到数据库中即可更新数据库数据。如图7-4所示。
图7-4 课题信息编辑界面
单击添加新课题按钮,登录到添加新课题界面,按要求填写资料后单击添加按钮,即可向课题信息表插入一条完整的记录。如图7-5所示。
图7-5 添加新新课题
- 21 -
7.3.2 学生信息管理界面
为了确保系统的安全性和稳定性,系统管理员具有对学生用户基本信息的编辑权限,在此界面上,系统管理员输入待编辑学生学号即可进入到编辑界面。如图7-6、图7-7所示。
图7-6 学生信息管理界面
图7-7 学生信息编辑管理界面
7.3.3 课题选择信息管理界面
课题选择信息管理包括对预选、正选信息管理。本系统预选提供预选功能是目的是在正式选课题之前进行一次预选,整理预选结果并向学生公告,给毕业提供一个参考选题情况。如图7-8所示。
- 22 -