DOCUMENT:Q199233 07-MAY-1999 [iis]
TITLE :How to Use DHTML with ASP and Long SQL Queries
PRODUCT :Internet Information Server
PROD/VER:winnt:3.0,4.0
OPER/SYS:
KEYWORDS:
======================================================================
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Internet Information Server versions 3.0, 4.0
-------------------------------------------------------------------------------
SUMMARY
=======
When SQL Server queries take a great deal of time to process in an ASP page, the
Web browser may be left with a blank page while information is gathered from the
database. If you use Internet Explorer's Dynamic HTML features, a message can be
displayed to a Web browser while the data is processed and then changed or
erased when the page is finished being rendered.
MORE INFORMATION
================
The following example ASP code uses a system Data Source Name (DSN) that points
to the Adventure Works example Microsoft Access database that shipped with IIS
3.0, but can be tested with any data source by changing the following two
lines:
strSQL = "SELECT * FROM
"
RS.Open strSQL, "DSN="
The following example page displays a message to the browser while loading the
data, then changes that message to the record count after the data is loaded.
Copy and save the following ASP code in your InetPub\Scripts folder as
DhtmTest.asp, and then test the page by browsing to
http://localhost/scripts/DhtmTest.asp.
DHTML and ASP Example
Please wait while the data loads...
<%
Dim RS, strSQL, i
Set RS = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM Products"
RS.CursorType = 1 ' open with adOpenKeyset
RS.Open strSQL, "DSN=AdvWorks"
If Not RS.EOF Then
Response.Write "" & vbCrLf
Response.Write ""
For i = 0 to (RS.Fields.Count - 1)
Response.Write "" & RS.Fields(i).Name & " | "
Next
Response.Write "
" & vbCrLf
Do While Not RS.EOF
Response.Write ""
For i = 0 to (RS.Fields.Count - 1)
Response.Write "" & RS.Fields(i).Value & " | "
Next
Response.Write "
" & vbCrLf
RS.MoveNext
Loop
Response.Write "
" & vbCrLf
End If
%>
<% RS.Close %>
The above code can easily be modified to erase the message from the page by
changing the script section to read as follows:
HideMe.style.display='none';
Additional query words: jscript javascript scripting dhtml asp html
======================================================================
Keywords :
Technology : kbiisSearch kbiis400 kbiis300
Version : winnt:3.0,4.0
Issue type : kbhowto
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO
EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION
OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1999.