Ускорение скрипта через GetString() в ADO
- Предыдущая страница Удаление ADO
- Следующая страница Command ADO
Используйте метод GetString() для ускорения вашего ASP скрипта (вместо многострочного Response.Write).
Пример
- Использование GetString()
- Как использовать GetString() для отображения данных в таблице HTML.
Многострочный 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 и условий для проверки, достигнут ли конец набора данных.
Синтаксис
str = rs.GetString(format, rows, coldel, rowdel, nullexpr)
Чтобы использовать данные из набора данных для создания HTML-таблицы, вам достаточно использовать три из указанных параметров (все параметры являются опциональными):
- coldel - HTML, используемый в качестве разделителя столбцов
- rowdel - HTML, используемый в качестве разделителя строк
- nullexpr - HTML, используемый при пустых значениях столбца
Комментарий:Метод 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>
Переменная str, находящаяся сверху, содержит строку со всеми столбцами и строками, возвращенными SELECT-запросом. Между столбцами会出现 </td><td> и между строками会出现 </td></tr><tr><td>. Таким образом, используя Response.Write один раз, мы получаем необходимый HTML.
- Предыдущая страница Удаление ADO
- Следующая страница Command ADO