ADO Speed Up Script With GetString()
Use the GetString() method to speed up your ASP script (instead
of using multiple Response.Write's).
Examples
Using GetString()
How to use GetString() to display data from a recordset in an
HTML table.
Multiple Response.Write's
The following example demonstrates one way of how to display a
database query in an HTML table:
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "SELECT Companyname, Contactname FROM Customers", conn
%>
<table border="1" width="100%">
<%do until rs.EOF%>
<tr>
<td><%Response.Write(rs.fields("Companyname"))%></td>
<td><%Response.Write(rs.fields("Contactname"))%></td>
</tr>
<%rs.MoveNext
loop%>
</table>
<%
rs.close
conn.close
set rs = Nothing set conn = Nothing %>
</body>
</html>
|
For a large query, this can slow down the script processing time, since
many Response.Write commands must be processed by the server.
The solution is to have the entire string created, from <table> to </table>,
and
then output it - using Response.Write just once.
The GetString() Method
The GetString() method allows you to display the string with only one Response.Write.
It also eliminates the do...loop code and the conditional test that checks if
the recordset is at EOF.
Syntax
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
|
To create an HTML table with data from a recordset, we only need to use three of the parameters above
(all parameters are optional):
- coldel - the HTML to use as a column-separator
- rowdel - the HTML to use as a row-separator
- nullexpr - the HTML to use if a column is NULL
Note: The GetString() method is an ADO 2.0 feature. You can download ADO 2.0 at
http://www.microsoft.com/data/download.htm.
In the following example we will use the GetString() method to hold the
recordset as a string:
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "SELECT Companyname, Contactname FROM Customers", conn
str=rs.GetString(,,"</td><td>","</td></tr><tr><td>"," ")
%>
<table border="1" width="100%">
<tr>
<td><%Response.Write(str)%></td>
</tr>
</table>
<%
rs.close
conn.close
set rs = Nothing set conn = Nothing %>
</body>
</html>
|
The str variable above contains a string of all the columns and rows
returned by the SQL SELECT statement. Between each
column the HTML
</td><td> will appear, and between each row, the HTML </td></tr><tr><td> will
appear. This will produce the exact HTML we need with only one Response.Write.
|
|
|
See why there are 20,000+ Ektron integrations worldwide.
Request an INSTANT DEMO or download a FREE TRIAL today. |
|
|
|