Accélération du script ADO par GetString()
- Page précédente Suppression ADO
- Page suivante Commande ADO
Utilisez la méthode GetString() pour accélérer votre script ASP (au lieu de Response.Write en mode multiline).
Exemple
- Utilisation de GetString()
- Comment utiliser GetString() pour afficher les données du jeu de résultats dans un tableau HTML.
Response.Write en mode multiline
L'exemple suivant montre une méthode pour 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 augmente le temps de traitement du script, car le serveur doit traiter un grand nombre de commandes Response.Write.
La solution consiste à créer la chaîne complète, de <table> à </table>, puis à l'envoyer - en utilisant une seule commande Response.Write.
Méthode GetString()
La méthode GetString() nous permet de visualiser toutes les chaînes de caractères en utilisant une seule commande Response.Write, sans nécessiter de code do..loop ni de tests de conditions pour vérifier si l'ensemble d'enregistrements est au EOF.
Syntaxe
str = rs.GetString(format, rows, coldel, rowdel, nullexpr)
Pour créer un tableau HTML à partir des données d'un ensemble d'enregistrements, nous avons besoin uniquement des trois paramètres suivants (tous les paramètres sont optionnels) :
- coldel - Caractère délimitant les colonnes en HTML
- rowdel - Caractère délimitant les lignes en HTML
- nullexpr - HTML utilisé lorsque la colonne est vide
Remarque :La méthode GetString() est une caractéristique de ADO 2.0. Vous pouvez télécharger ADO 2.0 à partir de l'adresse suivante :http://www.microsoft.com/data/download.htm
Dans l'exemple suivant, nous allons utiliser la méthode GetString() pour stocker un ensemble de enregistrements sous forme de chaîne de caractères :
<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 contient une chaîne avec toutes les colonnes et les lignes retournées par la requête SELECT. Entre chaque colonne, il y a </td><td> et entre chaque ligne, il y a </td></tr><tr><td>. De cette manière, en utilisant Response.Write une seule fois, nous obtenons le HTML nécessaire.
- Page précédente Suppression ADO
- Page suivante Commande ADO