三、第一次测试
在第一次测试中,我们模拟Microsoft ASP ADO示例中可找到的典型情形提取一个记录集。在这个例子(ADO__01.asp)中,我们首先打开一个连接,然后创建记录集对象。当然,这里的脚本按照本文第一部分所总结的编码规则作了优化。
复制代码 代码如下:
<% Option Explicit %>
<!-- #Include file="ADOVBS.INC" -->
<%
Dim objConn
Dim objRS
Response.Write( _
"<HTML><HEAD>" & _
"<TITLE>ADO Test</TITLE>" & _
"</HEAD><BODY>" _
)
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open Application("Conn")
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.ActiveConnection = objConn
objRS.CursorType = adOpenForwardOnly
objRS.LockType = adLockReadOnly
objRS.Open Application("SQL")
If objRS.EOF Then
Response.Write("No Records Found")
Else
'write headings
Response.Write( _
"<TABLE BORDER=1>" & _
"<TR>" & _
"<TH>OrderID</TH>" & _
"<TH>CustomerID</TH>" & _
"<TH>EmployeeID</TH>" & _
"<TH>OrderDate</TH>" & _
"<TH>RequiredDate</TH>" & _
"<TH>ShippedDate</TH>" & _
"<TH>Freight</TH>" & _
"</TR>" _
)
'write data
Do While Not objRS.EOF
Response.Write( _
"<TR>" & _
"<TD>" & objRS("OrderID") & "</TD>" & _
"<TD>" & objRS("CustomerID") & "</TD>" & _
"<TD>" & objRS("EmployeeID") & "</TD>" & _
"<TD>" & objRS("OrderDate") & "</TD>" & _
"<TD>" & objRS("RequiredDate") & "</TD>" & _
"<TD>" & objRS("ShippedDate") & "</TD>" & _
"<TD>" & objRS("Freight") & "</TD>" & _
"</TR> " _
)
objRS.MoveNext
Loop
Response.Write("</TABLE>")
End If
objRS.Close
objConn.Close
Set objRS = Nothing
Set objConn = Nothing
Response.Write("</BODY></HTML>")
%>
下面是测试结果:
我们来看一下各栏数字的含义:
0返回0个记录的页面所需要的TTLB(毫秒)。在所有的测试中,该值被视为生成页面本身(包括创建对象)的时间开销,不包含循环访问记录集数据的时间。
25以毫秒计的提取和显示25个记录的TTLB
tot time/25"25"栏的TTLB除以25,它是每个记录的总计平均时间开销。
disp time/25"25"栏的TTLB减去"0"栏的TTLB,然后除以25。该值反映了在循环记录集时显示单个记录所需时间。
250提取和显示250个记录的TTLB。
tot time/250"250"栏的TTLB除以25,该值代表单个记录的总计平均时间开销。
disp time/250"250"栏的TTLB减去"0"栏的TTLB,再除以250。该值反映了在循环记录集时显示单个记录所需时间。