Latest web development tutorials

ADO via GetString () accélération de script

S'il vous plaît utiliser la méthode GetString () pour accélérer vos scripts ASP (à la place de plusieurs lignes de Response.Write).


Multi-ligne Response.Write

L'exemple suivant illustre une 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, faire serait d'augmenter le temps de traitement du script, parce que le serveur doit gérer un grand nombre de commandes Response.Write.

La solution est de créer toute une chaîne à partir de <table> à </ table>, puis sortie - utilisé une seule fois Response.Write.


méthode GetString ()

GetString méthode () nous donne la possibilité d'utiliser un seul Response.Write, vous pouvez afficher toutes les chaînes. Dans le même temps, il n'a même pas besoin do..loop le code et le test conditionnel pour vérifier si le record établi en EOF.

grammaire

str = rs.GetString(format,rows,coldel,rowdel,nullexpr)

Pour créer un tableau HTML en utilisant les données de l'ensemble des dossiers, nous avons seulement besoin d'utiliser plus de trois paramètres (tous les paramètres sont facultatifs):

  • coldel - utilisé comme HTML colonne delimiter
  • rowdel - utilisé comme HTML ligne delimiter
  • nullexpr - Lorsque la colonne est vide lorsque vous utilisez HTML

Remarque: la méthode de GetString () est ADO Les fonctionnalités 2.0. Vous pouvez télécharger à l'adresse ci - dessous 2.0 ADO: http://www.microsoft.com/data/download.htm

Dans l'exemple suivant, nous allons utiliser la méthode GetString (), le jeu d'enregistrements enregistré en tant que chaîne de caractères:

Exemples

<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>","&nbsp;")
%>

<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 une instruction SELECT. Entre chaque colonne apparaîtra </ td> <td>, entre chaque rangée apparaîtra </ td> </ tr> <tr> <td>. Ainsi, avec un seul Response.Write, nous obtenons le HTML requis.