ADO kiihdytä skripti GetString()

Käytä GetString() -metodia nopeuttaaksesi ASP-skriptiäsi (korvaamaan monirivisen Response.Write).

Esimerkki

Käytä GetString()
Kuinka käyttää GetString() näyttääkseen tietuekokoelmassa olevia tietoja HTML-taulukossa.

Monirivinen Response.Write

Esimerkki näyttää yhden tavan näyttää tietokantahaun tulokset HTML-taulukossa:

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

Tämä lisää suuren kyselyn käsittelyaikaa, koska palvelin joutuu käsittelemään suuren määrän Response.Write-komentoja.

Ratkaistavaksi on luoda koko merkkijono, joka sisältää <table>- ja </table>-tagit, ja tulostaa se vain yhdellä Response.Write-kutsulla.

GetString() -menetelmä

GetString() -menetelmä antaa meille kyvyn näyttää kaikki merkkijonot vain yhdellä Response.Write-kutsulla. Se ei edellytä myöskään do..loop -koodia tai ehdollisia testejä tarkistaakseen, onko tietuejoukko EOF:ssa.

Syntaksi

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

Jos haluat käyttää tietuejoukon tietoja luodaksesi HTML-taulukon, tarvitset vain kolme yllä olevista parametreista (kaikki parametrit ovat valinnaisia):

  • coldel - käytettävä HTML-sarakkeen erotin
  • rowdel - käytettävä HTML-rivin erotin
  • nullexpr - käytettävä HTML, kun sarake on tyhjä

Huomautus:GetString() -menetelmä on ADO 2.0:n ominaisuus. Voit ladata ADO 2.0:n seuraavasta osoitteesta:http://www.microsoft.com/data/download.htm

Esimerkissä käytämme GetString() -menetelmää, jotta tallennamme tietuejoukon merkkijonoksi:

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

Yllä olevassa muuttujassa str sisältää kaikki rivit ja sarakkeet, jotka SELECT-lause palauttaa. Jokaisen sarakkeen välillä on </td><td> ja jokaisen rivin välillä </td></tr><tr><td>. Näin saamme tarvittavan HTML:n vain yhdellä kertaa Response.Write käyttäen.