![](/user_photo/8997_nLds_.jpg)
Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009
.pdf18. Публикация БД средствами Microsoft Access |
703 |
стве ответа обозревателю, для демонстрации возможностей технологии IDC/ НТХ, генерируется НТМ L-документ с информацией о переменных сервера.
Файл form.htx содержит следующий текст:
<H T M L >
<H E A D X / H E A D >
<B O D Y >
З а п р о с в ы п о л н е н ! < В Р > З н а ч е н и я с и с т е м н ы х п е р е м е н н ы х : < В Р >
М е т о д п е р е д а ч и д а н н ы х : < % R E Q U E S T _ M E T H O D % X B R > < % i f R E Q U E S T _ M E T H O D C O N T A I N S " P O S T " % >
Д л и н а д а н н ы х , п е р е д а в а е м ы х ч е р е з п о т о к :
<% C O N T E N T _ L E N G T H % X B R >
Ти п д а н н ы х :
<% C O N T E N T _ T Y P E % X B R >
<% e l s e % >
Д а н н ы е п е р е д а н н ы е м е т о д о м < % R E Q U E S T _ M E T H O D % > :
<% Q U E R Y _ S T R I N G % X B R >
<% e n d i f % >
В е р с и я п р о г р а м м н о г о о б е с п е ч е н и я с е р в е р а : < % S E R V E R _ S O F T W A R E % X B R >
В и р т у а л ь н ы й п у т ь : < % S E R V E R _ N A M E % X B R >
<A h r e f = " j a v a s c r i p t : h i s t o r y . b a c k ( ) " > " Н а з а д " < / А >
</ B O D Y >
</ H T M L >
Вприведенном файле для вывода значений переменных сервера используются специальные теги < % И м я п е р е м е н н о й % > . Например, для
вывода значения переменной R E Q U E S T _ M E T H O D используется строка
< % R E Q U E S T _ M E T H O D % > .
Конструкция
< % i f R E Q U E S T M E T H O D C O N T A I N S " P O S T " % >
<% e l s e % >
<% e n d i f % >
служит для вывода значений различных переменных сервера в зависимости от используемого метода передачи данных.
В конце файла form.htx находится ссылка с помощью, которой выполняется возврат на главную страницу Web-приложения:
< А h r e f = " j a v a s c r i p t : h i s t o r y . b a c k ( ) " > " Н а з а д " < / А >
704 |
Часть 4. Публикация баз данных в Интернете |
Таким образом, первая группа интерфейсных элементов вместе с IDC/ НТХ-фай лами обеспечивает выполнение запроса на добавление записей в БД.
При этом для выполнения запроса нужно заполнить все четыре поля и нажать кнопку «Добавить строку в БД». При этом сервер обрабатывает запрос обозревателя и в случае успешного выполнения возвращает HTML-страни- цу, вид которой в окне обозревателя показан на рис. 18.14.
J Файл Драила Дид Избранное |
CgpBMC ; Справка |
П |
|
|
|
J— |
I |
Запрос выполнен! |
|
' " |
З |
Значения системных переменных: |
|
|
|
Метод передачи данных: POST |
|
|
|
Длина данных, передаваемых через шток: 126 |
|
|
|
Тип данных: applkatioiJx-wwTV-foim-urlencoded |
|
|
|
Версия программного обеспечения сервера: Microsoft-PWS-95/2.0 |
|
|
|
Виртуальный путь: localhost |
|
|
|
"Назад" |
|
|
z l |
|
|
|
|
Готово |
Местнаяинграёеть |
|
|
Рис. 18.14 Окно обозревателя с результатом обработки файла form.idc
В указанном окне (рис. 18.14) сначала выводятся значения переменных, заполняемых сервером при использовании метода передачи данных POST. Это переменные CONTENT_LENGTH и CONTENT_TYPE. Кроме того, независимо от метода передачи данных выводятся значения переменных REQUEST_METHOD, SERVER_SOFTWARE и SERVER_NAME.
Вторая группа интерфейсных элементов главной страницы приложения содержит два поля с именами del, dell, предназначенные для ввода параметров запроса, с помощью которого удаляется строка из БД. Кроме того, к этой группе относится кнопка с именем b_del и значением «Удалить строку из БД». Второй группе интерфейсных элементов приложения соответствуют следующие строки текста главной страницы приложения:
CINPUT TYPE="text" NAME="del">: :<INPUT TYPE="text" NAME="del 1 " X BR>
cinput type=button value="yAannTb строку из БД" NAME="b_del" onGlick="location='http://localhost/Scripts/
bcxDks_del.idc?Book='+fbrm1 .del^ue^'SProc^Tinr^'+fbrnil .dell .value"><BR><p>
18. Публикация БД средствами Microsoft Access |
707 |
помощью которого находится строка в БД. Поиск строки в БД осуществляется по полю, содержащему год издания. Кроме того, к этой группе относится кнопка
с именем b _ year, имеющая значение « В ы п о л н е н и е п о и с к а с т р о к и в Б Д ».
Третьей группе интерфейсных элементов приложения соответствуют следующие строки текста главной страницы приложения:
C I N P U T T Y P E = " t e x t " N A M E = " y e a r " X B R >
< i n p u t t y p e = b u t t o n у а 1 и е = " В ы п о л н е н и е п о и с к а с т р о к и в Б Д " N A M E = " b _ y e a r "
o n C l i c k = " l o c a t i o n = ' h t t p : / / l o c a l h o s t / S c r i p t s /
b o o k s _ 1 . i d c ? P r o d u c t T i m e = ' + f o r m 1 . y e a r . v a l u e " > < B R > < p >
Кнопка с именем Ь_уеаг служит для запуска обработчика запроса обозревателя к серверу. В этом случае в качестве обработчика выступает файл, загружаемый по следующему URL:
" h t t p : / / l o c a l h o s t / S c r i p t s / b o o k s _ 1 . i d c "
Для загрузки этой страницы используется следующий код на JavaScript
o n C l i c k = " l o c a t i o n = ' h t t p : / / l o c a l h o s t / S c r i p t s /
b o o k s _ 1 . i d c ? P r o d u c t T i m e = ' + f o r m 1 .year, v a l u e "
Он выполняется при обработке события o n C l i c k , возникающего при нажатии на кнопку с помощью мыши. В этом коде объекту location присваивается новый URL, что приводит к загрузке сервером требуемого обработчика " b o o k s _ 1 .idc".
При этом к URL " h t t p : / / l o c a l h o s t / S c r i p t s / b o o k s _ 1 . i d c " с помощью кон-
катенации строк добавляется подстрока с передаваем параметром запроса с использованием метода GET:
P r o d u c t T i m e = ' + f o r m 1 .year, v a l u e
в которой код f o r m l . y e a r . v a l u e возвращает содержимое поля year.
Содержимое файла "books_1 .idc":
D a t a s o u r c e : B o o k s _ i d c
T e m p l a t e : B o o k s _ 1 . h t x
R e q u i r e d P a r a m e t e r s : P r o d u c t T i m e
S Q L S t a t e m e n t : S E L E C T * F R O M [ B o o k s ] w h e r e
P r o d u c t T i m e = % P r o d u c t T i m e %
При этом строка SQLStatement задает SQL-запрос на выборку записи из БД:
S E L E C T * F R O M [ B o o k s ] w h e r e P r o d u c t T i m e = % P r o d u c t T i m e %
Здесь подстрока
P r o d u c t T i m e = % P r o d u c t T i m e %
определяет требуемую для выборки БД строку.
708 |
Часть 4. Публикация баз данных в Интернете |
Строка |
|
T e m p l a t e : B o o k s _ 1 |
. htx |
указывает серверу, что в качестве шаблона будет использоваться файл B o o k s _ 1 .htx. Этот файл используется сервером для формирования в виде таблицы данных, получаемых в результате выполнения запроса:
Файл содержит следующий текст:
<H T M L >
<H E A D >
<T I T L E > A I I _ T y p e s < / T I T L E >
</ H E A D >
<B O D Y >
C T A B L E B O R D E R = 1 > < C A P T I O N X B > B o o k s < / B X / C A P T I O N >
<T H E A D X T R >
<T H > N u m _ B o o k s > < / T H >
<Т Н > В о о к < Д Н >
<T H > P r o d u c t T i m e < / T H >
<T H > P r i c e < / T H >
<T H > S t r N u m < / T H >
</ T R X / T H E A D >
<T B O D Y >
<% B e g i n D e t a i l % >
<T R V A L I G N = T O P >
<T C X % K o f l B o o k s % X B R X / T D >
<T D X % B o o k % X B R X / T D >
< T C A L I G N = R I G H T X % P r o d u c t T i m e % X B R X / T D >
<T D A L I G N = R I G H T X % P r i c e % X B R X / T D >
<T D A L I G N = R I G H T X % S t r N u m % X B R X / T D >
</JR>
<% I E n d D e t a i l % >
<B R >
<A h r e f = " j a v a s c r i p t : h i s t o r y . b a c k ( ) " > " H a 3 a A " < / A >
</ T B O D Y >
<T F O O T X / T F O O T >
<Д А В 1 _ Е >
</ B O D Y >
</ H T M L >
Основной особенностью этого файла является наличие в нем следующего кода, задающего тело таблицы:
<T E ! O D Y >
<% B e g i n D e t a i l % >
18. Публикация БД средствами Microsoft Access |
709 |
<T R V A L I G N = T O P >
<T D > < % K o A B o o k s % X B R X / T D >
<T D X % B o o k % X B R X / T D >
<T D A L I G N = R I G H T X % P r o d u c t T i m e % X B R X / T D >
<T D A L I G N = R I G H T X % P r i c e % X B R X / T D >
<T D A L I G N = R I G H T X % S t r N u m % X B R X / T D >
</ T R >
<% E n d D e t a i l % >
Использование специальных тегов < % B e g i n D e t a i l % > . . . < % E n d D e t a i l % > задает для сервера цикл на заполнение строк таблицы. При этом переход от текущей строки таблицы к следующей выполняется автоматически. Таким образом, в результате обработки этого кода сервер многократно формирует строки таблицы в зависимости от количества строк в результирующем наборе данных.
Специальные теги < % K o f l B o o k s % > , < % B o o k % > , < % P r o d u c t T i m e % > ,
< % P r i c e % > и < % S t r N u m % > используются для указания серверу мест вывода значений соответствующих полей из записей БД.
В конце файла Books l.htx находится ссылка
< А h r e f = " j a v a s c r i p t : h i s t o r y . b a c k ( ) " > " H a 3 a A " < / A >
С ее помощью выполняется возврат на главную страницу Web-приложения. Таким образом, третья группа интерфейсных элементов вместе с IDC/HTXфайлами обеспечивает выполнение запроса на выборку записей из БД. При этом для успешного выполнения запроса нужно заполнить текстовое поле, задающее
год издания книги, и нажать кнопку «Выполнение поиска строки в БД ». Например, при задании в текстовом поле year значения 2000 (рис. 18.13) и
нажатии на кнопку Ь_уеаг в окне обозревателя будет выведен текст, представленный на рис. 18.16.
На этом рисунке выведена одна строка, так как приведенному в запросе параметру в БД соответствует только одна строка, удовлетворяющая условию поиска.
Четвертая группа интерфейсных элементов главной страницы приложения содержит следующую ссылку:
< А |
h r e f = " h t t p : / / I о с a l h o s t / S c r i p t s / A I l _ t y p e s _ 1 ^ с " > " П р о с м о т р с о д е р - |
ж и м о г о в с е й Б Д " < / А > |
Эта ссылка |
передает серверу запрос на обработку IDC-файла |
A l l _ t y p e s _ 1 . i d c |
и ссылка служит для получения всех записей из БД. Файл |
" A l l _ t y p e s _ 1 . i d c " содержит следующий код: |
D a t a s o u r c e : B o o k s _ i d c T e m p l a t e : B o o k s _ 1 . htx
S Q L S t a t e m e n t : S E L E C T * F R O M [ B o o k s ] С л е д у ю щ а я с т р о к а в э т о м ф а й л е
S Q L S t a t e m e n t : S E L E C T * F R O M [ B o o k s ]
18. Публикация БД средствами |
Microsoft Access |
|
|
|
|
|
711 |
||
Файл |
Древка Вид |
Избранное |
Сервис |
Справка |
|
|
|
||
Йдрес H Q |
http: //localhost/S cripls/AII_types_1. idc |
|
|
|
• | |
(^Переход |
|||
|
|
|
• |
||||||
"Назад" |
|
|
|
|
|
|
|
|
|
|
|
|
Books |
|
|
|
|
|
|
W i i t B o o M |
|
Book |
|PioduclTime| Piice |
IStiNum |
|
||||
|
1 |
С++ language |
|
2000 |
160 |
.0000 |
869 |
|
|
|
6 |
Публикация Б Д |
|
2001 |
330.0000 |
100 |
|
||
|
7 |
Публикация Б Д в Интернет |
2001 |
330 |
.0000 |
100 |
|
||
|
8 |
C++Builder |
|
|
2001 |
123 |
.0000 |
111 |
|
|
9 |
TurboPascal |
|
1998 |
123 |
.0000 |
111 |
|
|
|
14 |
Основы JavaScript |
|
1998 |
250 |
.0000 |
50 |
|
|
|
15 |
Язык Java |
|
|
1999 |
234 |
.0000 |
123 |
|
|
|
|
|
|
|
|
|
|
d |
Готово |
|
|
|
|
(Hi Местная инграсеть |
^ |
|||
Рис. 18.17 Окно обозревателя с результатом обработки файла All |
types.idc |
Для публикации статических HTML-страниц на Web-cepeepe требуется скопировать соответствующие файлы HTML и сопутствующие файлы (рисунки и стили) и папки в папку корневого каталога этого сервера с помощью Проводника. Напомним, что стандартными корневыми каталогами являются \Webshare\Wwwroot для Personal Web Server и \Inetpub\Wwwroot для Microsoft Internet Information Server.
Пример 1. Статическая публикация данных из отчета.
Рассмотрим статическую публикацию данных из отчета Список товаров, содержащегося в базе данных Борей СУБД Access 2000. Для решения поставленной задачи выполним следующие действия:
•В окне базы данных выберем имя отчета Список товаров, который нужно экспортировать, и в меню Файл (File) зададим команду Экспорт (Export).
•В открывшемя окне в поле Тип файла (File Туре) выберем требуемый вариант Документы HTML (*.html, *.htm).
•Выберем диск и папку, в которую будет экспортирован отчет в виде статического файла HTML.
•В поле Имя файла (File Name) введем имя файла и нажмем кнопку Сохранить (Save).
•В диалоговом окне Параметры вывода в формате HTML (Output Options in HTML Format) укажем имя и местоположение шаблона,
712 |
Часть 4. Публикация баз данных в Интернете |
с использованием которого будет выполняться просмотр сформированного файла HTML в окне обозревателя.
В результате выполненных действий будут сформированы пять HTMLстраниц, содержащие информацию из экспортируемого нами отчета. Вид первой из названных страницу в окне обозревателя Internet Explorer показан на рис. 18.18.
Список товаров по алфавиту
01^апо-2001
А
Марка: |
Категория: |
Единица |
На складе: |
||
измерения: |
|||||
|
|
|
|
||
Aniseed Syrup |
Приправы |
12 бутылок по 550 мл |
23 |
||
Марка: |
Категория: |
Единица |
На складе: |
||
измерения: |
|||||
|
|
|
|
||
Eioston Crab Meat |
Рыбопродукты |
24 банки по 125 г |
|
123 |
Jp Мой компьютер
Рис. 18.18. Вид сформированной HTML-страницы в окне обозревателя
Исходный код сформированной нами статической HTML-страницы приведен на рис. 18.19.
Шаблон HTML представляет собой текстовый файл, включающий теги и описатели HTML, являющиеся уникальными для Microsoft Access. Эти описатели указывают места для вставки выходных и других сведений в статические или генерируемые сервером файлы HTML.
При выводе таблицы, запроса, формы или отчета с указанием файла шаблона HTML в связанном диалоговом окне Параметры вывода (Output Options) Microsoft Access объединяет шаблон HTML с выходными файлами
.HTML, .ASP, и .НТХ, заменяя описатели как показано в таблице 18.1.
Для публикации файлов статических HTML-страниц в папке Web выполним копирование в нее соответствующих файлов с помощью Проводника Windows.