Use o GetString() método para acelerar o seu script ASP (em vez de usar várias das Response.Write).
das múltiplas Response.Write
O exemplo a seguir demonstra uma maneira de como exibir uma consulta de banco de dados em uma tabela 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>
Para uma consulta grande, isso pode diminuir o tempo de processamento do script, pois muitos comandos Response.Write devem ser processados pelo servidor.
A solução é ter toda a cadeia criado, a partir de <table> para </ table> e, em seguida, saída dele - usando Response.Write apenas uma vez.
O GetString() Método
O GetString() método permite exibir a string com apenas um Response.Write. Ele também elimina a fazer ... código de loop e o teste condicional que verifica se o conjunto de registros está no EOF.
Sintaxe
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
Para criar uma tabela HTML com dados de um conjunto de registos, que só precisa usar três dos parâmetros acima (all parameters are optional) :
- coldel - o HTML para usar como uma coluna de separador
- rowdel - o HTML para usar como uma linha-separador
- nullexpr - o HTML para usar se uma coluna é NULL
Note: O GetString() método é uma característica ADO 2.0. Você pode baixar ADO 2.0 em http://www.microsoft.com/data/download.htm .
No exemplo a seguir, vamos utilizar o GetString() método para segurar o conjunto de registros como uma string:
Exemplo
<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>
A variável str acima contém uma série de todas as colunas e linhas retornadas pela instrução SQL SELECT. Entre cada coluna do HTML </td><td> aparecerá, e entre cada fileira, o HTML </td></tr><tr><td> aparecerá. Isto produzirá o HTML exato que precisa com apenas um Response.Write.