%@ Language=VBScript %> <% Option Explicit %> <% Dim StartTime, EndTime StartTime = Timer Dim objRS ' ADO Recordset object Dim objCmd ' ADO Command object Dim RecordsArray, i Dim strConnectionString strConnectionString = "Provider=SQLOLEDB.1;"&_ "User ID=sa;Password=;"&_ "Initial Catalog=sqltest;Data Source=localhost;" ' Create the a recordset object, and initialize it Set objRS = Server.CreateObject("ADODB.RecordSet") With objRS .CursorType = adOpenForwardOnly .LockType = adLockReadOnly .ActiveConnection = strConnectionString .CursorLocation = adUseServer .Source = "SELECT Field1,Field2,Field3,Field4 FROM tblData" End With ' Create command object Set objCmd = Server.CreateObject("ADODB.Command") With objCmd .ActiveConnection = strConnectionString .Prepared = True .CommandType = adCmdText .CommandText = "SELECT ? = COUNT(*) FROM tblData WHERE Field1=?" End With ' Append the parameter to the Command object's parameters collection objCmd.Parameters.Append _ objCmd.CreateParameter(,adInteger,adParamOutput,4) objCmd.Parameters.Append _ objCmd.CreateParameter(,adInteger,adParamInput,4) ' Execute the SQL query objRS.Open ' 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 pre-prepared Command object without Recordset objCmd(1) = RecordsArray(0, i) objCmd.Execute ,,adExecuteNoRecords Response.write "Dummy query result=" Response.write objCmd(0) Response.write vbCrLf Next Loop Response.write "" objRS.Close Set objRS = Nothing Set objCmd = Nothing Response.write "" EndTime = Timer Response.write "
processing took "&(EndTime-StartTime)&" seconds
" %>