| 三、第一次测试 
 在第一次测试中,我们模拟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。该值反映了在循环记录集时显示单个记录所需时间。
 
 上面的测试结果将用来同下一个测试结果比较。
 |