Utilisez le GetString() méthode pour accélérer votre script ASP ( au lieu d'utiliser plusieurs pour Response.Write).
Plusieurs Response.Write pour
L'exemple suivant illustre une façon de la façon d'afficher une requête de base de données dans un tableau 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>
Pour une grande requête, cela peut ralentir le temps de traitement de script, car de nombreuses commandes de Response.Write doivent être traitées par le serveur.
La solution est d'avoir toute la chaîne créée, à partir de <table> à </ table>, puis le sortir - en utilisant Response.Write juste une fois.
Le GetString() Méthode
Le GetString() méthode vous permet d'afficher la chaîne avec un seul Response.Write. Il élimine aussi le do ... code boucle et le test conditionnel qui vérifie si le recordset est à EOF.
Syntaxe
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
Pour créer un tableau HTML avec les données d'un jeu d' enregistrements, nous avons seulement besoin d'utiliser trois des paramètres ci - dessus (all parameters are optional) les (all parameters are optional) :
- coldel - le code HTML à utiliser comme une colonne séparateur
- rowdel - le code HTML à utiliser comme séparateur de ligne
- nullexpr - le code HTML à utiliser si une colonne est NULL
Note: Le GetString() méthode est une caractéristique ADO 2.0. Vous pouvez télécharger ADO 2.0 à http://www.microsoft.com/data/download.htm .
Dans l'exemple suivant , nous utiliserons la GetString() méthode pour maintenir la forme d' une chaîne d' enregistrements:
Exemple
<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 variable str ci-dessus contient une chaîne de toutes les colonnes et les lignes renvoyées par l'instruction SQL SELECT. Entre chaque colonne HTML </td><td> apparaît, et entre chaque ligne, le code HTML </td></tr><tr><td> apparaît. Cela produira le code HTML exact dont nous avons besoin avec un seul Response.Write.