ADO Accelerate Script via GetString()
- Previous Page ADO Delete
- Next Page ADO Command
Please use the GetString() method to accelerate your ASP script (instead of multi-line Response.Write).
Example
- Using GetString()
- How to use GetString() to display data from a recordset in an HTML table.
Multi-line Response.Write
The following example demonstrates a method for displaying 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 will increase the script processing time, as the server needs to process a large number of Response.Write commands.
The solution is to create the entire string from <table> to </table> and then output it - using only one Response.Write.
GetString() method
The GetString() method allows us to display all strings using only one Response.Write, without the need for do..loop code or condition tests to check if the recordset is at EOF.
Syntax
str = rs.GetString(format, rows, coldel, rowdel, nullexpr)
To create an HTML table using data from the recordset, we only need to use three of the above parameters (all parameters are optional):
- coldel - HTML used as column delimiter
- rowdel - HTML used as row delimiter
- nullexpr - HTML used when a column is empty
Note:The GetString() method is a feature of ADO 2.0. You can download ADO 2.0 from the following address:http://www.microsoft.com/data/download.htm
In the following example, we will use the GetString() method to store 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 variable str above contains a string of all columns and rows returned by the SELECT statement. There will be </td><td> between each column, and </td></tr><tr><td> between each row. In this way, we get the needed HTML with only one Response.Write.
- Previous Page ADO Delete
- Next Page ADO Command