<%@ Language=VBScript %> <% Option Explicit %> <% Dim StartTime, EndTime StartTime = Timer Dim objCN ' ADO Connection object Dim objRS ' ADO Recordset object Dim strsql ' SQL query string Dim objRS2 ' Another ADO Recordset object Dim RecordsArray, i ' Create a connection object Set objCN = Server.CreateObject("ADODB.Connection") ' Connect to the data source objCN.ConnectionString = "DSN=datasource" objCN.Open ' Create the a recordset object, and initialize it Set objRS = Server.CreateObject("ADODB.RecordSet") With objRS .CursorType = adOpenForwardOnly .LockType = adLockReadOnly .CursorLocation = adUseServer Set .ActiveConnection = objCN End With ' Create the second recordset object, and initialize it Set objRS2 = Server.CreateObject("ADODB.RecordSet") With objRS2 .CursorType = adOpenForwardOnly .LockType = adLockReadOnly .CursorLocation = adUseServer Set .ActiveConnection = objCN End With ' Execute the SQL query objRS.Open "SELECT Field1,Field2,Field3,Field4 FROM tblData" ' Write out the results using GetRows in a loop Response.write "
"
Do While Not objRS.EOF
	RecordsArray = objRS.GetRows(30)
	
	For i = 0 To UBound(RecordsArray, 2)
		Response.write RecordsArray(0, i)
		Response.write vbTab
		Response.write RecordsArray(1, i)
		Response.write vbTab
		Response.write RecordsArray(2, i)
		Response.write vbTab
		Response.write RecordsArray(3, i)
		Response.write vbTab
		Response.write vbCrLf
		
		' Use the pre-prepared Recordset object to issue the dummy query
		strsql = "SELECT COUNT(*) FROM tblData WHERE Field1="&RecordsArray(0, i)
		objRS2.Open strsql
		Response.write "Dummy query result="
		Response.write objRS2(0)
		objRS2.Close
		Response.write vbCrLf
	Next
Loop
Response.write "
" objRS.Close objCN.Close Set objCN = Nothing Set objRS = Nothing Set objRS2 = Nothing EndTime = Timer Response.write "

processing took "&(EndTime-StartTime)&" seconds

 " %>