Latest web development tutorials

ADO через GetString () ускорение сценария

Пожалуйста, используйте метод GetString (), чтобы ускорить ваш ASP скрипты (вместо нескольких строк Response.Write).


Многоканальный 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, вы можете отобразить все строки. В то же время она даже не нужно do..loop код и условное тест, чтобы проверить, является ли установить запись в EOF.

грамматика

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

Чтобы создать таблицу HTML, используя данные из набора записей, нам нужно только использовать более трех параметров (все параметры не являются обязательными):

  • coldel - используется в качестве разделителя столбца HTML
  • rowdel - используется в качестве строки разделителей HTML
  • nullexpr - Когда колонна пуст при использовании HTML

Примечание: метод GetString () является ADO 2.0 функции. Вы можете скачать с адреса ниже 2.0 ADO: http://www.microsoft.com/data/download.htm~~HEAD=dobj

В следующем примере мы будем использовать метод 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>","&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>

Выше переменная ул содержит строку всех столбцов и строк, возвращаемых ЗЕЬЕСТ. Между каждой колонке появится </ TD> <TD>, между каждой строке появится </ TD> </ TR> <TR> <TD>. Таким образом, только с одним Response.Write, мы получаем необходимый HTML.