Проект Порталус


 

CompDocs on-line

Интернет-магазин постеров с доставкой

 
CompDocs
Вебмастеру
Программисту
Пользователю
Геймеру
Мабила
Новости
Отдохни
Беседка
Обои
Партнеры
Docs.com.ru

Web-мастеру:

PHP
ASP .NET
Perl
JavaScript
CSS
HTML
Раскрутка
Сервисы

Программисту:

DirectX
OpenGL
Pascal
Алгоритмы

Пользователю:

Windows
Linux
BIOS
Обои

Посетителю:

Форум
Юмор
Рассылки
Объявления
ФизМат
Тесты
Работа

Обои на рабочий стол
 

Источник: mycomp.com.ua

Уроки ASP-технологии

(Продолжение)

Объекты доступа к данным.

Экскурс по технологии ASP будет, конечно, неполным, если мы проигнорируем уровень данных при написании сценариев. Поэтому сегодня мы рассмотрим объекты доступа к данным, которые предоставляет разработчикам технология ADO (ActiveX Data Objects). Итак, что же такое ADO? Всеми любимая (а может, и нет  () корпорация :-)Microsoft разработала (и всячески продвигает на рынке IT) так называемую концепцию универсального доступа к данным UDO (Universal Data Access), которая позволяет посредством поставщиков услуг OLE  DB (Object Linking and Embedding Database) подключаться к любым базам данных, лишь бы для них был установлен соответствующий драйвер. Однако есть одна деталь: технология OLE DB доступна лишь разработчикам, использующим DB (Object Linking and Рис. 1Embedding Database) подключаться к любым базам данных, лишь бы для них был установлен соответствующий драйвер. Однако есть одна деталь: технология OLE C++. Чтобы как-то исправить этот недостаток, Microsoft и выдумала ActiveX Data Objects, которые предоставляют программистам средства доступа к OLE  DB. Упрощенное расположение этих технологий по отношению друг к другу, к технологии ASP и к языкам программирования Visual Basic и Visual  C++ представлено на Рис.  1.

Давайте рассмотрим подключение к базе данных в ASP-сценарии. Для этого используется объект Connection. Создадим базу данных формата Access, назовем ее orders.mdb. В ней сделаем две классические таблицы: Orders (табл.  2) и Products (табл.  4). В таблице Orders создадим и заполним следующие поля (табл.  1).

После этого создайте таблицу Products, со следующими полями (табл.  3).

Заполните ее таким вот образом (табл.  4).

После этого измените «Схему данных» так это показано на Рис.  2.

Теперь создайте файл dbtest.asp. В него запишите следующий код:

Давайте разберемся, что же делает этот сценарий. В первой строке

мы устанавливаем язык сценария. В следующей строке дается обязательное объявление переменных. Далее подключается внешний файл adovbs.inc, который необходимо скопировать в подкаталог includes, находящийся в одной папке с файлом dbtest.asp, из каталога диск:\Program Files\Common Files\System\ADO\. Файл adovbs.inc нужно подключить, так как в последующем коде мы используем константу adModeReadWrite, которая подсоединяет базу данных в режиме чтение/запись. В последующих девяти строках объявляются используемые в дальнейшем переменные, а затем с помощью строковых функций формируется нужный путь к базе данных. После этого переменной strConn присваивается так называемая строка подключения, которая используется для выбора нужного драйвера доступа к базе данных (которая также указывается в этой строке).

Таблица 1

Таблица 2

Таблица 3

В следующих двух строках создаются объекты Connection и Recordset. Далее устанавливается режим доступа к нашей базе данных и свойству ConnectionString объекта Connection присваивается строка strConn, в которой уже указаны все параметры подключения к источнику данных. И теперь, наконец-то, с помощью метода Open, устанавливается непосредственно соединение с базой данных. Теперь мы можем использовать это соединение для операций над данными: переменной strSql присваивается текст SQL-запроса, который в дальнейшем используется для выборки из базы данных всех клиентов, заказавших продукт под номером  8 (в таблице Orders это будет машина Aldan, которая использовалась для решения различных магических задач в произведении братьев Стругацких «Понедельник начинается в субботу»). Далее объекту objRecordset присваивается результат выполнения этого запроса, браузеру же посылаются строки:

После этого в цикле for each objField in objRecordset.Fields … Next формируются и посылаются браузеру заголовки столбцов из выборки, которую мы сделали раньше. Затем посылается текст.

Теперь в цикле do while not objRecordset.EOF … loop мы посылаем записи из нашей выборки, сформированные в виде таблицы. Как только эти данные были посланы, браузер получает тэг окончания таблицы (</table>). Следующим шагом мы закрываем открытые соединения и уничтожаем их. Это делается для того, чтобы они не занимали место в оперативной памяти компьютера после завершения сценприя.

Рис. 2

Таблица 4

В итоге браузер получает HTML-таблицу с информацией из нашей базы данных, причем пользователь не видит ни ее реальной структуры, ни физического расположения на диске.

(Продолжение следует)

Ссылки по теме:

  • Работа с ADO в Microsoft Excel
  • Создание подключений к базе данных в ADO.NET
  • Создание приложения, работающего с XML-данными
  • Создание приложения, работающего с XML-данными - 2
  • ASP-технологии: личный Web Server
  • ASP-технологии: встроенные объекты
  • Уроки ASP-технологии
  • Версия для печати Версия для печати [доступна только on-line]
    Комментарии к статье
    Ваше имя:

    Ваш e-mail:
      извещать о новых отзывах в теме
    публиковать мой e-mail
    Комментарий:

    Copyright © 2003-2004 Путяк Владислав.
    Использование материалов журнала разрешается только с указанием ссылки на первоисточники и сайт журнала - http://docs.com.ru



    @ portalus.ru