Accelerare lo script con GetString() ADO
- Pagina precedente Elimina ADO
- Pagina successiva Command ADO
Utilizzare il metodo GetString() per accelerare i vostri script ASP (al posto di Response.Write su più righe).
Esempio
- Utilizzo di GetString()
- Come utilizzare GetString() per visualizzare i dati di un set di record in una tabella HTML.
Multipla riga Response.Write
Esempio 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 grande, questo può aumentare il tempo di elaborazione dello script, poiché il server deve gestire un gran numero di comandi Response.Write.
La soluzione è creare la stringa completa, da <table> a </table>, e stamparla utilizzando una sola chiamata a Response.Write.
Metodo GetString()
Il metodo GetString() ci permette di visualizzare tutte le stringhe utilizzando una sola chiamata a Response.Write, senza la necessità di codice do..loop o test di condizione per verificare se il recordset è raggiunto EOF.
Sintassi
str = rs.GetString(format, rows, coldel, rowdel, nullexpr)
Per creare una tabella HTML utilizzando i dati del recordset, ci bastano tre dei parametri elencati di seguito (tutti opzionali):
- coldel - Utilizzato come separatore di colonna HTML
- rowdel - Utilizzato come separatore di riga HTML
- nullexpr - HTML utilizzato quando una colonna è vuota
Note:Il metodo GetString() è una caratteristica di ADO 2.0. Puoi scaricare ADO 2.0 dal seguente indirizzo:http://www.microsoft.com/data/download.htm
Nel seguente esempio, utilizzeremo il metodo GetString() per memorizzare il recordset come una stringa:
<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 superiore str contiene una stringa con tutte le colonne e le righe restituite dalla query SELECT. Tra le colonne ci sono </td><td> e tra le righe ci sono </td></tr><tr><td>. In questo modo, utilizzando una sola volta Response.Write, otteniamo l'HTML necessario.
- Pagina precedente Elimina ADO
- Pagina successiva Command ADO