Используйте GetString() метод , чтобы ускорить ваш ASP скрипт (вместо использования нескольких Response.Write'S).
Несколько Response.Write игровых
Следующий пример демонстрирует один из способов, как отобразить запрос базы данных в 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>
Для большого запроса, это может замедлить время обработки сценария, так как многие команды Response.Write должны обрабатываться сервером.
Решение состоит в том , что создали все строки из <table> до </ table>, а затем вывести его - используя Response.Write только один раз.
GetString() Метод
GetString() метод позволяет отображать строку только с одним Response.Write. Это также устраняет делать ... код цикла и условный тест, который проверяет, является ли набор записей на EOF.
Синтаксис
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
Чтобы создать таблицу HTML с данными из записей, мы должны использовать только три из указанных выше параметров (all parameters are optional) не (all parameters are optional) :
- coldel - HTML, чтобы использовать в качестве колонки-сепаратора
- rowdel - HTML, чтобы использовать в качестве строки-разделителя
- nullexpr - HTML, чтобы использовать, если столбец является NULL
Note: GetString() метод является функцией ADO 2.0. Вы можете загрузить ADO 2.0 на http://www.microsoft.com/data/download.htm .
В следующем примере мы будем использовать GetString() метод для хранения записей в виде строки:
пример
<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>
Переменная ул выше содержит строку всех столбцов и строк, возвращаемых в инструкции SQL SELECT. Между каждой колонке HTML </td><td> будет отображаться, а также между каждой строки, HTML , </td></tr><tr><td> появится. Это произведет точный HTML, нам нужно только один Response.Write.