ADO accelerera skript genom GetString()

Använd GetString() metoden för att accelerera din ASP-skript (i stället för flera rader Response.Write).

Exempel

Använd GetString()
Hur man använder GetString() för att visa data från en datauppsättning i en HTML-tabell.

Multirad Response.Write

Följande exempel visar ett sätt att visa en databasfråga i en HTML-tabell:

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

För en stor fråga ökar detta skriptets behandlingstid, eftersom servern måste hantera ett stort antal Response.Write-kommandon.

Lösningen är att skapa hela strängen, från <table> till </table>, och sedan skriva ut den med endast ett Response.Write.

GetString() -metoden

GetString() -metoden ger oss möjlighet att visa alla strängar med endast ett Response.Write, utan att behöva do..loop-kod eller villkorstest för att kontrollera om recordset är i EOF.

Syntax

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

För att använda data från en recordset för att skapa en HTML-tabell behöver vi endast använda tre av de ovanstående parametrarna (alla parametrar är valfria):

  • coldel - HTML används som kolumnseparatör
  • rowdel - HTML används som radseparatör
  • nullexpr - HTML som används när en kolumn är tom

Kommentar:GetString() -metoden är en egenskap av ADO 2.0. Du kan ladda ner ADO 2.0 från följande adress:http://www.microsoft.com/data/download.htm

I i följande exempel kommer vi att använda GetString() -metoden för att lagra en recordset som en sträng:

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

Variabeln str innehåller en sträng med alla kolonner och rader som returneras av SELECT-satsen. Mellan varje kolonn kommer det att finnas </td><td> och mellan varje rad kommer det att finnas </td></tr><tr><td>. På detta sätt får vi den nödvändiga HTML:en med endast ett Response.Write.