ADO Via GetString() Script Versnellen

Gebruik de GetString() methode om je ASP-script te versnellen (in plaats van meerdere regels Response.Write).

Voorbeeld

Gebruik GetString()
Hoe je gegevens van een recordset in een HTML-tabel kunt weergeven met GetString().

Meerdere regels Response.Write

Dit voorbeeld toont een manier om een database query in een HTML-tabel weer te geven:

<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>

Voor een grote query kan dit de verwerkingstijd van het script verhogen, omdat de server een groot aantal Response.Write-commando's moet verwerken.

De oplossing is om de volledige string te maken, van <table> tot </table>, en deze dan uit te geven - slechts één keer Response.Write gebruiken.

GetString() methode

De GetString() methode geeft ons de mogelijkheid om alle strings te tonen met slechts één Response.Write, zonder dat er do..loop-code of conditietests nodig zijn om te controleren of de recordset zich in EOF bevindt.

Syntax

str = rs.GetString(format, rows, coldel, rowdel, nullexpr)

Om een HTML-tabel te maken met gegevens van een recordset, hebben we slechts drie van de bovenstaande parameters nodig (alle parameters zijn optioneel):

  • coldel - Gebruikt als kolom scheidingsteken in HTML
  • rowdel - Gebruikt als rij scheidingsteken in HTML
  • nullexpr - Gebruikt HTML wanneer een kolom leeg is

Opmerking:De GetString() methode is een kenmerk van ADO 2.0. U kunt ADO 2.0 downloaden van de volgende adres:http://www.microsoft.com/data/download.htm

In de volgende voorbeeld gebruiken we de GetString() methode om een recordset op te slaan als een 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>

De variabele str bevat een string met alle kolommen en rijen die door de SELECT-query worden geretourneerd. Tussen de kolommen verschijnt </td><td>, en tussen de rijen verschijnt </td></tr><tr><td>. Op deze manier krijgen we met éénmalig gebruik van Response.Write de benodigde HTML.