ния запроса), и передает результат выполнения операторов ASP-сценарию.
ПРАКТИКУМ
На момент написания данного текста ODBC-драйвер, посредством которого ASP-сценарий должен взаимодействовать с СУБД MySQL, вместе с MySQL не поставлялся. Вы можете выгрузить драйвер MyODBC по адресу http:/ /
www. MySQL. com/Downioads/. (В разделе API-интерфейсов этой Web-страницы
щелкните на гиперссылке MyODBC и следуйте инструкциям по загрузке для установленной у вас операционной системы.) Выгрузите (архивный) файл
584 Глава 11 . Активные серверные страницы (ASP)
MyODBC. zip с указанного сайта в какую-нибудь папку (типа
C:\My DownLoad Files ) на компьютере, на котором установлена СУБД
MyODBC. Затем распакуйте архив В папку вроде C:\My Download Files\MyODBC.
И, наконец, завершите процесс инсталляции, выполнив следующие шаги:
1. Найдите в папке, в которую вы распаковали архив MyODBC. zip, программу
Setup. exe. ШШ
2. Запустите программу setup. exe, дважды щелкнув на. ее имени. Вы увидите окно программы установки Microsoft ODBC.
3. Щелкните на кнопке Continue (Продолжить). Появится диалоговое окно
Install Drivers (Установка драйверов).
4. Выберите в списке выбора доступных драйверов ODBC MySQL и щелкните на кнопке ОК. Появится диалоговое окно Data Sources (Источники данных).
5. Щелкните на кнопке Close (Закрыть) и затем на ОК в нижней части окна
программы установки Microsoft ODBC — для завершения работы инсталля — ционной программы.
После щелчка на кнопке Close на пятом шаге программа инсталляции уста — новит драйвер MyODBC в вашу систему, и появится окно с сообщением Microsoft ODBC Setup Complete (Установка Microsoft ODBC завершена). Щелкните на кноп —
ке OK, и программа инсталляции завершит свою работу.
После установки драйвера ODBC для СУБД MySQL (MyODBC) ваши ASP- сценарии могут открывать соединение с СУБД с помощью строки соединения со следующим синтаксисом:
DRIVER={MySQL};SERVER=;
ию= пользователя^* РК0=;0АТАВА8Е=
Например, предположим, что ваш Web-сервер находится на компьютере с именем NVBizNet, и вы хотите открыть соединение с базой данных hwdtt. (Имя базы данных получено из первых букв английского названия книги: HTML & Web Design Tips & Techniques.) В таком случае вам необходимо воспользоваться следующей строкой открытия соединения:
В данном примере ASP-сценарий открывает базу данных с именем привиле — гированного пользователя roo t и без пароля. После этого для отображения ре- зультатов запроса на Web-странице в виде HTML-таблицы в сценарии потребует —
ся вызвать подпрограмму наподобие следующей:
Sub SubmitQuery (queryString)
Const cMySQLConStr =
«DRIVER={MySQL};SERVER=NVBizNet;UID=root;PWD=;DATABASE=hwdtt» Dim objMySQLCon, objResultsSet
Dim field
1 Создание объекта базы данных
Set objMySQLCon = Server. CreateObject(«ADODB. Connection»)
Глава 11. Активные серверные страницы (ASP) 585
With objMySQLCon
1 Открытие соединения с СУБД MySQL, прием запроса
1 и сохранение множества результатов запроса в объекте VBScript
.Connectionstring = cMySQLConStr
.Open
Set objResultsSet = .Execute (queryString)
1 Отображение запроса на Web-странице
Response. Write «PesynbTaTbi выполнения запроса: » & _
queryString & «»
1 Отображение имен столбцов и результатов запроса в HTML-таблице
Response. Write » border=’ 1′ cellpadding=’ 5′>»
1 Отображение имен столбцов SQL-таблицы в строке шапки HTML-таблицы
Response. Write «
»
For Each field In objResultsSet. Fields
Response. Write «» & field. Name & «» Next
Response. Write «
»
1 Отображение значений результатов запроса в строках HTML-таблицы
Do While Not objResultsSet. EOF
Response. Write «
»
For Each field In objResultsSet. Fields
Response. Write «
» & field & «
» Next
Response. Write «
»
1 Сдвиг указателя записи на следующую строку результататов objResultsSet. MoveNext
Loop
Response. Write «« End With
End Sub
%>
Как видно из приведенного примера, следующие операторы сценария исполь —
зуют объект соединения (objMySQLCon) и его метод Open для открытия соедине — ния с базой данных MySQL:
objMySQLCon. ConnectionString = cMySQLConStr
objMySQLCon. Open
Далее в сценарии используется оператор Set — для передачи запроса из строки
queryString В СУБД И пересылки результатов Запроса В Объект objResultsSet:
Set objResultsSet = objMySQLCon. Execute(queryString)
В данном примере VBScript сохраняет результаты запроса в коллекции Fields объекта набора результатов (или записей) objResultsSet. По существу, результа — ты запроса сохраняются в объекте objResultsSet в виде пар ключ/элемент (т. е.
имя/значение). Программисту доступны и имя элемента (или ключ), и его зна —
чение. В рассматриваемом примере сценарий сначала вставляет ключи (имена столбцов таблицы SQL) в шапку HTML-таблицы. Затем сценарий перебирает весь набор результатов по одной строке, отображая значение элемента каждой строки результата под соответствующим ему заголовком HTML-таблицы.