Веб-интерфейс к Access в ASP

Предположим, что уже установлено необходимое программное обеспечение (Windows 2000, MS Access, IIS) создана база данных в файле c:\inetpub\wwwroot\dhtml\db.mdb с таблицей school_teacher, к которой прописан псевдоним db (об особенностях настройки и установки вышеописанных компонентов смотрите предыдущие разделы статьи).

Приведем текст файла school.asp, реализующий вывод таблицы school_teacher (пример 1).

Пример 1. Вывод содержимого таблицы БД в ASP

<html>
<body>
<%
set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open "DSN=db" ´подключение к БД с псевдонимом db

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM school_teacher", Cn ´выполение SQL-запроса
%>

<table class=borderall>
<tr align=center bgcolor=cccccc><td>№</td><td>ФИО</td><td>Предмет</td></tr>
<%
do until rs.EOF ´цикл по записям запроса

´чтение значения поля id_teacher в переменную id_teacher для текущей записи запроса
id_teacher=rs("id_teacher")
fio=rs("fio")
subject=rs("subject")

´вывод строки текущей записи
%>
<tr><td><%=id_teacher%></td><td><%=fio%></td><td><%=subject%></td></tr>
<%
rs.movenext
loop
rs.Close
Cn.Close
%>
</table>
</body>
</html>

Для работы с БД создается объект Cn типа ADODB.Connection, который соединяется с БД через метод Cn.Open. Для получения данных запроса создается еще один объект rs типа ADODB.Recordset, далее с помощью его метода rs.Open выполняется сам запрос к БД для соединения Cn. С помощью метода rs.EOF можно проверить признак окончания записей для текущего запроса, а с помощью функции rs.movenext можно перейти к следующей записи запроса. Таким образом, в цикле do until считываются и выводятся в таблице все записи запроса, после чего объект запроса и объект соединения с базой закрываются с помощью соответствующего метода Close.

Результат работы программы показан ниже.

ФИО Предмет
1 Беляев Сергей Николаевич Программирование
2 Стольникова Ирина Валерьевна HTML
3 Голикова Марина Николаевна HTML
4 Ликай Елена Павловна Программирование
5 Ильиных Елена Николаевна Программирование
6 Бокатуев Денис Андреевич Web-дизайн

Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=17223