这些模型中的每一个模型都可以充分利用所有 ASP.NET 功能,以及 .NET 框架和 .NET 框架公共语言运行库的强大功能。这些功能以及使用它们的方法概述如下:如果您具有 ASP 开发技能,则新的 ASP.NET 编程模型对您来说将会是非常熟悉的。不过,与 ASP 相比,ASP.NET 对象模型变化显著,它更为结构化并且面向对象。但这也意着 ASP.NET 不是完全向后兼容的;几乎所有现有的 ASP 页都必须经过一定程度的修改后才可以在 ASP.NET 下运行。此外,用 Visual Basic Scripting 版本编写的现有 ASP 页通常将不会直接移植到 ASP.NET 中。不过,在大多数情况下,只需对少数几行代码进行必要的修改。从 ASP.NET 应用程序访问数据库是向 Web 站点访问者显示数据的常用技术。ASP.NET使得为此目的而对数据库的访问比以往更加方便。它还使您能够从您的代码管理数据库。有关更多信息,请参阅通过 ASP.NET 访问数据。
2.4 随机组卷原理分析
本系统里面比较重要的一个功能是组卷时随机抽取试题,用到了数据库中比较重要的一个函数——newid()函数,下面做了简要介绍:
从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid(),order by 一般是根据某一字段排序,newid()的返回值是uniqueidentifier order by newid()随机选取记录是这样进行的:newid()在扫描每条记录的时候都生成一个值,而生成的值是随机的,没有大小写顺序,所以最终结果再按这个排序, 排序的结果当然就是无序的了。或者select top 10 *,newid() as Random from ywle where ywlename=‘001’order by Random。后者效率要高些,因为newid()返回的是uniqueidentifier类型的唯一值。newid()每次产生的值都不一样,那么根据这样的值进行排序,每次的结果也是不一样的。原理是:把所有的ID取出,然后用随机函数取出其中一个,然后用这个随机取到的ID去数据库里再取出记录。例如:SELECT * FROM Northwind..Orders ORDER BY NEWID()代表随机排序;SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID()代表从Orders表中随机取出10条记录。
示例:对变量使用newid()函数。
以下示例使用newid()对声明为uniqueidentifier数据类型的变量赋值。在测试 uniqueidentifier 数据类型变量的值之前,先输出该值。-- Creating a local variable with DECLARESET syntax。DECLARE @myid uniqueidentifier SET @myid = NEWID() PRINT 'Value of @myid is '+ CONVERT(varchar(255), @myid)
下面是结果集:
Value of @myid is 6F9619FF-8B86-D011-B42D-00C04FC964FF
注意:newid() 对每台计算机返回的值各不相同。所显示的数字仅起解释说明的作用
2.5小结
本章主要介绍了系统所涉及的相关技术,包括开发工具、开发技术、系统架构等,重点介绍了ASP.NET、SQL Server 2005数据库等相关知识,这些技术是本软件开发的理论和技术基础。