Лістинг 4.7. Побудова списку за допомогою ADO.
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
<TITLE>Using ADO by Mikle</TITLE></HEAD><BODY>
<%
'Оголошуємо змінні
Dim objConnection
Dim objRecordset
' створюємо об'єкти
Set objConnection = Server.CreateObject("ADODB.Connection")
Set objRecordset = Server.CreateObject("ADODB.Recordset")
' Встановлюємо під'єднування і виконуємо запит
objConnection.Open "Data", "", ""
objRecordset.Open "SELECT Name FROM Users", objConnection
%>
<!-- Будуємо список SELECT по набору даних -->
<SELECT SIZE=8>
<% Do While Not ObjRecordset.EOF %>
<!-- Створюємо черговий елемент списку -->
<OPTION><%=objRecordset("Name")%>
</OPTION>
<% objRecordset.MoveNext
Loop %>
</SELECT></BODY></HTML>
Одне з основних завдань в керованому даними Web-приложении — управління інформацією в об'єкті Recordset. Дуже часто простий запит повертає значно більше даних, чим має сенс показувати. Давайте, наприклад, поглянемо, що відбувається, коли Ви звертаєтеся до якої-небудь пошукової системи в Інтернеті. Пошукова машина, отримавши ключове слово, повертає посилання на вузли, де це ключове слово трапляється. Але частенько виявляються тисячі вузлів, що містять дане ключове слово. Абсолютно вочевидь, що показати всі ці вузли на одній Web-сторінці абсолютно неможливо.
Вихід полягає в розбитті на сторінки (paging). Цей механізм реалізований у всіх пошукових системах для передачі за один раз деякої порції результатів запиту, скажімо, з 10 записів. Тепер користувач може ефективно працювати з отриманою інформацією. Підтримує розбиття на сторінки і ADO — за допомогою декількох властивостей об'єкту Recordset: PageSize, PageCount і AbsolutePage.
При здобутті набору даних можна вказати, що запису слід розбити на сторінки. Кількість рядків набору даних, складових сторінку, задається значенням властивості PageSize. Потім можна визначити загальну кількість сторінок в наборі даних за допомогою властивості PageCount. А доступ до заданої сторінки забезпечує властивість AbsolutePage.
У лістингу 4.8 наведений повний приклад, в якому користувач може переглядати 10 записів за раз. Змінна сесії CurrentPage відстежує поточну сторінку. Користувач може перейти до попередньої порції даних або до наступного набору з 10 записів, вибравши одне з двох гіпертекстових заслань на сторінці.
Дата добавления: 2016-04-02; просмотров: 554;