ADO accelerering af script gennem GetString()

Brug GetString()-metoden til at accelerere din ASP-script (i stedet for flere linjer Response.Write).

Eksempel

Brug GetString()
Sådan bruger du GetString() til at vise data fra en recordkæde i HTML-tabeller.

Multilinje Response.Write

Dette eksempel viser en metode til at vise en databasekæde i HTML-tabeller:

<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 en stor forespørgsel vil dette øge skriptets behandlingstid, fordi serveren skal håndtere et stort antal Response.Write kommandoer.

Løsningen er at oprette hele strengen fra <table> til </table> og derefter udskrive den - kun én gang med Response.Write.

GetString() metoden

GetString() metoden giver os mulighed for at vise alle strengene ved kun at bruge Response.Write én gang. Det er endda ikke nødvendigt med do..loop kode eller betingelses测试 for at kontrollere, om recordset er ved EOF.

Syntaks

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

For at oprette en HTML-tabel fra data i en recordset, skal vi kun bruge tre af de ovennævnte parametre (alle parametre er valgfri):

  • coldel - HTML, der bruges som kolonneskilletegn
  • rowdel - HTML, der bruges som radeskilletegn
  • nullexpr - HTML, der bruges, når en kolonne er tom

Bemærk:GetString() metoden er en funktion af ADO 2.0. Du kan downloade ADO 2.0 fra følgende adresse:http://www.microsoft.com/data/download.htm

I denne eksempel vil vi bruge GetString() metoden til at gemme en recordset som en streng:

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

Variablen str indeholder en streng med alle kolonner og rækker, der returneres af SELECT-sætningen. Der vil være </td><td> mellem kolonnerne og </td></tr><tr><td> mellem rækkerne. På denne måde får vi den ønskede HTML ved kun at bruge Response.Write én gang.