Aceleración de scripts ADO a través de GetString()
- Página anterior Eliminar ADO
- Página siguiente Command ADO
Utilice el método GetString() para acelerar su script ASP (en lugar de Response.Write en múltiples líneas).
Ejemplo
- Uso de GetString()
- Cómo usar GetString() para mostrar datos de un conjunto de registros en una tabla HTML.
Múltiples líneas Response.Write
El siguiente ejemplo muestra un método para mostrar una consulta de base de datos en una tabla 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> <% cerrar rs cerrar conn set rs = Nothing set conn = Nothing %> </body> </html>
Para una consulta grande, esto aumentará el tiempo de procesamiento del script, ya que el servidor necesita procesar una gran cantidad de comandos Response.Write.
La solución es crear toda la cadena, desde <table> hasta </table>, y luego escribirla solo una vez usando Response.Write.
Método GetString()
El método GetString() nos permite mostrar toda la cadena utilizando solo una vez Response.Write, incluso sin código do..loop ni pruebas de condiciones para verificar si el conjunto de registros está en EOF.
Sintaxis
str = rs.GetString(format, rows, coldel, rowdel, nullexpr)
Para crear una tabla HTML utilizando los datos de un conjunto de registros, solo necesitamos usar tres de los parámetros anteriores (todos son opcionales):
- coldel - Separador de columnas en HTML
- rowdel - Separador de filas en HTML
- nullexpr - HTML utilizado cuando una columna está vacía
Notas:El método GetString() es una característica de ADO 2.0. Puede descargar ADO 2.0 desde la siguiente dirección:http://www.microsoft.com/data/download.htm
En el siguiente ejemplo, utilizaremos el método GetString() para almacenar el conjunto de registros como una cadena:
<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> <% cerrar rs cerrar conn set rs = Nothing set conn = Nothing %> </body> </html>
La variable superior str contiene una cadena que representa todas las columnas y filas devueltas por la sentencia SELECT. Entre cada columna aparecerá </td><td> y entre cada fila aparecerá </td></tr><tr><td>. De esta manera, utilizando Response.Write una vez, obtenemos el HTML necesario.
- Página anterior Eliminar ADO
- Página siguiente Command ADO