Utilizzare la GetString() metodo per accelerare il vostro script ASP (invece di utilizzare più di Response.Write).
Più di Response.Write
L'esempio seguente mostra un modo di come visualizzare una query di database in una tabella HTML:
<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>
Per una query di grandi dimensioni, questo può rallentare il tempo di elaborazione dello script, dal momento che molti comandi Response.Write devono essere elaborati dal server.
La soluzione è quella di aver creato l'intera stringa, da <table> a </ table>, e poi l'uscita è - usando Response.Write solo una volta.
Il GetString() Metodo
Il GetString() metodo consente di visualizzare la stringa con un solo Response.Write. Esso inoltre elimina il fai ... codice di ciclo e il test condizionale che verifica se il recordset è a EOF.
Sintassi
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
Per creare una tabella HTML con i dati da un set di record, abbiamo solo bisogno di usare tre dei parametri di cui sopra (all parameters are optional) :
- coldel - il codice HTML da utilizzare come colonna di separazione
- rowdel - il HTML da utilizzare come una riga separatore
- nullexpr - il codice HTML da utilizzare se una colonna è NULL
Note: Il GetString() il metodo è una caratteristica ADO 2.0. È possibile scaricare ADO 2,0 a http://www.microsoft.com/data/download.htm .
Nel seguente esempio useremo il GetString() metodo per mantenere il recordset come una stringa:
Esempio
<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>
La variabile str sopra contiene una stringa di tutte le colonne e le righe restituite dalla istruzione SQL SELECT. Tra ogni colonna HTML </td><td> apparirà, e tra ogni riga, il HTML </td></tr><tr><td> apparirà. Questo produrrà l'esatto HTML abbiamo bisogno con una sola Response.Write.