华文学生计算机技能辅助系统中.NET程序技术
Web应用程序是显示数据库中数据的一个非常好的方法,可以把业务复杂并有访问规则和安全规则的数据库数据以一种简单、直观的方式向用户提供查询和更新的功能。用户判断数据库应用程序很常用的一个标准就是处理数据的快慢。许多Web页面都向用户提供了多种可搜索的列表显示来有效地定位记录的位置,一个比较简单而且常用的例子就是在线图书查询系统,它允许用户按作者、书名或者主题来检索图书信息。
ASP.NET提供了一个DataGrid控件,可以比ASP更方便地创建数据列表,DataGrid控件除了内建的数据表现和方法之外,还允许用户自己定义表现形式。分页技术为用户可管理的数据查找提供方便。DataGrid内建的分页技术很容易实现,但数据量很大时,它的方便性是以牺牲性能为代价的。下面就看看如何通过自定义的分页方法来快速处理大量数据的结果集。这里讨论的方法比DataGrid的默认分页方法更加快速和有效,这是因为每次请求不需要把全部的数据结果发送到Web服务器,相反,它只需要发送每个页面需要的那些数据集。例如:一个用户只要求100个页面中每页显示25条记录的第4页的结果集,服务器只需要发送第75~100行的数据即可,而不是1~100行的完全数据。默认的传送方式如图2所示。本文引用地址:http://www.amcfsurvey.com/article/202408.htm
从图2中可以看出,DataGrid的内建分页方法效率不高,每次请求都必须把整个查询结果发送给Web服务器,Web服务器再把数据分成相应的页面。利用DataGrid的内建的分页方法尽管很简单,但是由于Web应用的无序性特征,一个用户每次从一个页面转向另外一个页面时,DataGrid对象都被销毁并重新创建,这就意味着数据库服务器每次都必须发送全部的结果集。
自定义的分页方法只返回所要检索的那些结果集,如图3所示。
从图3可以看到,数据库每次只需要返回所要显示的数据记录。利用AspNetPager分页导航,再自定义分页存储过程,提高分页效率。
一般来说使用存储过程有以下优点:
(1)减少网络数据传递流量,提高T-SQL语句执行速度。用户在使用到SQL语句时,如用户进行数据查询,数据插入时首先要把相关的SQL语句发送到SqlServer,在进行比较复杂的查询等操作时就要频繁向服务器发送这样的SQL语句,浪费网络带宽,效率低下且加重服务器的负担。而存储过程经过编译存放在服务器上,使用存储过程要比单条SQL语句快得多。
(2)适合模块化编程,提高系统的通用性,存储过程在被创建以后,可以在程序中被多次调用而不用重复编写SQL语句。
(3)可以更有效地管理用户操作数据库的权限,通过SqlServer分配权限更安全。
部分代码如下:
CREATE procedure GetCiAll
( @pagesize int,
@pageindex int,
@docount bit )
as
set nocount on
if(@docount=1)
select count(id) from mingci
else
begin
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select id from mingci
select*from mingci O,@indextable t where O.id=t.nid
and t.id>@PageLowerBound and t.id=
@PageUpper
Bound order by t.id
end
set nocount off
GO
对来华学习汉语的华文教育专业本科一年级的学生进行实验,实验总抽样人数为20人,其中平时学习和测试中使用本系统的有10人,应用传统方式学习的有10人。经过一个学期的学习,学期末进行测试,结果表明借助于辅助系统学习和测试的同学的计算机技能成绩普遍好于未使用该系统的学生。
本文通过分析.NET技术的特点以及华文学生计算机技能的学习和测试的现状, 发现.NET技术非常适合于华文计算机技能辅助系统的建设。通过使用.NET自定义分页技术应用于华文学生计算机技能学习辅助系统减少了客户端和服务器的数据交互量,减少了带宽的占用。随着中国华文教育及世界华文教育的发展,计算机辅助系统将成为课程教学和测试的主要辅助工具,.NET技术和学科的结合将更加紧密。
参考文献
[1] 中国华文教育网.http://www.hwjyw.com.
[2] 何克抗,许骏. IT 技能测评自动化[M].北京:科学出版社, 2005.
[3] GENEEN S. Computer assisted-assessment: staff viewpoints on its Introduction Within a New University [J]. Innovation Teching International,2002,39(2):145 - 153.
[4] 陈冠军. 征服ASP. NET 2. 0 AJAX-开发技术详解[M]. 北京:人民邮电出版社,2007.
[5] 马军.精通ASP.NET 2.0 网络应用系统开发[M]. 北京:人民邮电出版社,2006.
评论