Verwenden Sie die GetString() Methode , um Ihren ASP - Skript zu beschleunigen (anstelle von mehreren Response.Write der Verwendung).
Mehrere Response.Write des
Das folgende Beispiel zeigt eine Art und Weise, wie eine Datenbankabfrage in einer HTML-Tabelle anzuzeigen:
<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>
Für eine große Abfrage kann dies die Skript Bearbeitungszeit verlangsamen, da viele Response.Write Befehle vom Server verarbeitet werden müssen.
Die Lösung ist die gesamte Zeichenfolge geschaffen haben, von <table> zu </ table>, und dann gibt sie - unter Verwendung von Response.Write nur einmal.
Die GetString() Methode
Die GetString() Methode ermöglicht es Ihnen , mit nur einem Response.Write die Zeichenfolge anzuzeigen. Es entfällt auch den Do ... Loop-Code und den bedingten Test, wenn der Re-Cord prüft bei EOF ist.
Syntax
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
Um eine HTML - Tabelle mit Daten aus einer Datensatzgruppe zu erstellen, benötigen wir nur drei der Parameter verwenden oben (all parameters are optional) :
- coldel - die HTML zu verwenden, wie eine Säule Scheider
- rowdel - der HTML zu verwenden als Zeilenscheider
- nullexpr - die HTML zu verwenden, wenn eine Spalte NULL ist
Note: Die GetString() Methode ist eine ADO 2.0 - Funktion. Sie können ADO 2.0 downloaden http://www.microsoft.com/data/download.htm .
Im folgende Beispiel werden wir die Verwendung GetString() Methode des Re- Cord als String zu halten:
Beispiel
<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>
Die Variable str oben enthält eine Zeichenfolge aller Spalten und Zeilen, die von der SQL-Anweisung SELECT zurückgegeben. Zwischen jeder Spalte der HTML </td><td> erscheint, und zwischen jeder Zeile, die HTML </td></tr><tr><td> erscheint. Dies wird produzieren die genaue HTML wir mit nur einem Response.Write brauchen.