ADO versnel met GetString()


Gebruik die GetString()-metode om jou ASP-skrip te bespoedig (in plaas daarvan om veelvuldige Response.Write's te gebruik).


Veelvuldige reaksie. Skryf's

Die volgende voorbeeld demonstreer een manier hoe om 'n databasisnavraag in 'n HTML-tabel te vertoon:

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

Vir 'n groot navraag kan dit die skripverwerkingstyd vertraag, aangesien baie Response.Write-opdragte deur die bediener verwerk moet word.

Die oplossing is om die hele string te laat skep, van <table> tot </table>, en dit dan uit te voer - met behulp van Response.Write net een keer.



Die GetString()-metode

Die GetString() metode laat jou toe om die string met slegs een Response.Write te vertoon. Dit skakel ook die doen...lus-kode en die voorwaardelike toets uit wat kyk of die rekordstel by EOF is.

Sintaksis

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

Om 'n HTML-tabel met data van 'n rekordstel te skep, hoef ons net drie van die parameters hierbo te gebruik (alle parameters is opsioneel):

  • Coldel - die HTML om as 'n kolomskeider te gebruik
  • rowdel - die HTML om as 'n ry-skeier te gebruik
  • nullexpr - die HTML om te gebruik as 'n kolom NULL is

Let wel: Die GetString()-metode is 'n ADO 2.0-kenmerk. Jy kan ADO 2.0 aflaai by https://www.microsoft.com/data/download.htm .

In die volgende voorbeeld sal ons die GetString() metode gebruik om die rekordstel as 'n string te hou:

Voorbeeld

<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>","&nbsp;")
%>

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

Die str-veranderlike hierbo bevat 'n string van al die kolomme en rye wat deur die SQL SELECT-stelling teruggestuur word. Tussen elke kolom sal die HTML </td><td> verskyn, en tussen elke ry sal die HTML </td></tr><tr><td> verskyn. Dit sal die presiese HTML produseer wat ons benodig met slegs een Response.Write.