Главная » Просмотр файлов » Теория и практика построения баз данных

Теория и практика построения баз данных (1088289), страница 127

Файл №1088289 Теория и практика построения баз данных (Теория и практика построения баз данных) 127 страницаТеория и практика построения баз данных (1088289) страница 1272018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 127)

Мочейехт 1оорЖ> </ТВООУ> <ТГООТ></ТГООТ> </ТАВСЕ> </ВОВУ> <(НТМЕ> Первая часть серверного сценария имеет ту же самую функцию, что и в листинге 15.1. Единственное различие состоит в том, что обращение происходит к источнику данных Огас!е. Переменная чаг5т)! задается с помощью переменной чагтаЫейапте. Амперсанд (е ) — оператор, соединяющий две строки. Результатом этого выражения является следующая строка: 5ЕЕЕСТ * ГЙОМ С05ТОМЕЙ Примеры использования АОО 587 586 Глава 15. ООВС, ОСЕ ОВ, АОО и АВР Заметьте также, что имя таблицы включено в заголовок НТМ(.-таблицы с помощью кода САРТ10й «В %=чагТаЫейапге% /В ГСАРТ10й>. Код между символами % приведет к тому, что в заголовок НТМТ;таблицы будет вставлено значение переменной чагТаЫенапге.

Следующий фрагмент серверного сценария обрабатывает коллекцию аейз. Переменной чагг1цпгС011 присваивается значение свойства Сорос коллекции Р!е(бз, и затем элементы коллекции перебираются в цикле. Обратите внилгангге, каким образом НТМЕ разбросан в серверном коде (илп серверный код разбросан в НТМ(. — как вам больше нравится).

Ранее в переменную чагКеу1тапге бьио записано имя суррогатного ключа, н цикл проверяет, не совпадает ли имя текущего столбца с именем суррогатного ключа. Если нет, генерируется НТМ1.-код, создающий заголовок таблицы. Аналогичный цикл используется на следующей странице для заполнения таблицы значениями из набора записей. Преимущество этой страницы заключается в том, что она может обрабатывать любую таблицу, а не только какую-то конкретную. Фактически, если использовать введенную ранее терминологию, мы можем сказать, что страница в листинге 15.2 является абстракцией страницы из листинга 15.1. Результаты обработки этой страницы показаны на рпс, 15.10.

Столбец С05ТОМЕл10 не показан, как мы и ожидали. Рис. 1б.10. Результат обработки АЗР-страницы Сцз!огпегОгасГе.авр Пример 3 — чтение любой таблицы На рис. 15.11, а показана форма для ввода данных, куда клиент может ввести имя таблицы, которую следчет отобразить. (Более удачным было бы решение, нрп котором клиенту выдавался бы раскрывающийся список с возможными вариантамн выбора, но зто уводит нас от обсуждения АОО.) Пользователь ввел в форму имя агг1 зт.

Предположим теперь, что когда пользователь щелкает мышью на кнопке 5ггоиг ТаЫе (Показать таблицу), форма должна запустить сценарий на сервере, который отобразит содержимое таблицы АйТ15Т в том же сеансе браузера. Допус- тим также, что суррогатный ключ отображать не нужно. Желаемые результаты показаны на рнс. 15.11, б. 4 1Й: У *;Ф;: ~",'ф:ф; 0("',,фтттка гГВгйттсггтг)гг;ЬЗ1гаРЫнг У:...,г, ) *арте вп нгрчл ь ьм кири* рьгл 'кир г и. р !тра~',,:'!.)снег",'11 б Рис.

15.11. Отображение содержимого произвольной таблицы: в — форма для ввода имени таблицы; б — вид таблицы 888 Глава 15. 00ВС, ОСЕ 0В, А00 и АЯР Примеры использования А00 889 Для выполнения этой задачи требуются две АВР-страницьс. Первая, показанная в листинге 15.3, представляет собой НТМ[.-страницу, содержащую тег ГОРМ: <ГОРМ МЕТНОО="розЫ АСТ!ОИ-пВепега1таЫ е.азр"> Этот тег определяет на странице раздел формы; данный раздел будет содержать вводимые данные. В данной форме вводится только. один элемент данных— имя таблицы. Метод ровс — это НТМ[.-процесс, посредством которого данные из формы [в нашем случае имя таблицы агС(вс) передаются АВР-серверу и помещаются в объект под названием Гога). Альтернативным методом является Вес, при котором значения данных передаются в качестве параметров.

Это различие здесь для нас не слишком важно. Вторым параметром тета ЕОРМ является АСТ10М, значение которого — строка «белеса!ТаЫе.авр». Этот параметр предписывает ПЯ по получении отклика от формы передать файл Оепега!ТаЫе.азр на обработку АВР- процессору. Значения из формы будут помещены в объект Гопп. Листинг 15.3.

Код, выводящий содержимое произвольной таблицы 1/)еисГ))с)ОеТаЫез.аэр <НТМ[> <НЕАО> <метА нттР-е001ч="соптепс-туре" сОмтемт-"техт/ьса);сьагзеь-и1поонз-1252"> <Т!Т[Е>таЫе 01вр1ау Гога</Т1Т[Е> </НЕАО> <ВООУ> <ГОРМ МЕТНОО="резь" АСТ10Ис "Велега1ТаЫе. азр" > <Р><5ТКОИБ ГОНТ со1сг=рцгр)е Гасе-"" з)зе-5>впбзр: амбар; ТаЫе 01зр)ау 5е!ест(оп Еога</ЕОМТ /5ТРОИВ> <Р></Р> <Р>йпбзр;</Р> <Р><ГОНТ зту)е="ВАСКВРООИО-СОСОК: ()т/ГГГГ' ГОНТ со)ог-Гогезтсгееп Гасе-"" зту)е="ВАСКВКООИО-СОСОК: ()ТТТГГГ'>Еп1ег таЫейаае: /ЕОМт апьзр;апь р;апьвр,апьзр дпьзр, /ЕОИт /Р <Р></Р> <Р><ГОМт зьу) е-"ВАСКОРООИО-СОСОК ()ТТГГГТГГ'></ГОНТ>дпбзр; <1МРОТ 1с)=сехс1 паае=сех(1></Р> <Р><ГОИТ вту1е="ВАСКВРООИО-СОСОК: ))ттгт/Г'> <1ИРОТ 10-зцЫпзс) паае-зоба)т) суре=алба![ ча1це="5мон ьаЫе" >амбар;апбзрЯпбзр; <1ИРОт 1с)=гезет1 паае-гевес) суре=газет ча1це-="йезес ча1цез"></ГОмт></Р> </ГОКМ> </ВООУ> </НТМ[> Листинг 15.4.

Код, выводящий содержимое произвольной таблицы Оепега)ТаЫе,азр <НТМ<> <НЕАО> <МЕТА НТТР-ЕОО!с/-"Сопсепь-Туре" СОМТЕМТ-теехс/Ььа1.снагзес=и)пеона- 1252"> , <Т!Т[Е>таЫе 0)зР1ау Расе</Т1Т[Е> </НЕАО> <ВООТ> « --/)зпс)цс)е ч)гтца) = "1/1енйЕСОеЕхаар1е1/абочбв.1пс" <т 01а ЬЬОСолп. оЬ)йессг65еь, оЬОГ1е1с) 01а чагнцпСо)в. чаг!, чаг5ц! Оза чагтаЫ енаае.

чагйесого5е[Иаае. чагКеуМаае Оза чагтаЫенааеЕ)гвь, чагтаЫенааейезь чагТаЫепаае = Кесцезт. Гога ("сехт1") ' Формируем иня ключа как иия таблицы в нижнем регистре с заглавной первой буквой ь символы 10, чагтаЫ енааеЕ1гзь - ОСазе([етс(чагтаЫ ещаае, 1) ) чагтаыемааейевт = [сазе(К1длс(чагтаыеиаае, [ег(чагтаыеиаае)-1)) чагКеуМаае = чагтаЫеМааеЕзгвь 5 чагтаЫещааейезь $" 10" чагйесогс)5еСИаае = " гз " 5 чагтаЫ ейаае ' используем для сохранения указателя ' на набор записей 1( 1зОЬ)есС(5езз)сп(" сопл")) тлел 5еь сЬЗСспп = 5евз)сп(" сопл") Е1ве 5ет аЬ)Сопл = 5егчег.СгеатеОЬ)ест("АОООВ.соппесс(оп") оЬОСспп.1зс1аь1оп[ече1 = абХастйеас)Ссвопттеб ' избегаеи «грязногси чтения оьбсспп.преп "с/1еий)бйе55", "ва" 5ет 5езв1оп(" сопл") = оЬОСопп Епб 1Г 1Г !вОьбест(5езз)оп(чагйесогс5етиаае)) тлел 5еь оЬОйесогб5ет = 5езз)оп(чагйесого5етйаае) ' используен сохраненный набор ' записей, если зто возиожно оЬ)йесогб5ед.йесцегу Е1зе чаг5д) = "5ЕьЕСТ * ГРСМ " и "[" 5 чагТаЫеНаае 5 "!" ' Заключаем имя таблицы ' в скобки, если оно ' содержит пробелы и т.

и. 5ес оЬ)йесогс)5еь - 5егчег.СгеатеОЬ)ест("АОООВ.йесогсзеС") ' В спедующен операторе обратите внимание на использование типов курсора и блокировок Примеры использования А00 591 Епб !Г Ж> иагТаЫейаае = йециезт. Гога(ГЖехс!") <Ж оЬ)йесогб5ес.йочейехс 590 Глава 15. 00ВС, ОСЕ 0В, А00 и АВР Листинг 1 5.4 (продолжение) оЬОйесогб5еЫОРеп чаг5ц). оЬОСопп. абОрепвупаа1с, абЕосКОРЬ1а1эе(с ' разрешаен обновление 5ес 5езэцоп(чагйесогсэегНаае) = оЬОйесогб5е1 <6060>ТАВЕЕ ВОИОЕй=1 ВОСОСОй-(ГТГТТГТ СЕЕЕ5РАС!ИВ=О ГОНТ ГАСЕ-"Аг1а1" СОСОй УОООООО> <САРТ10М><В><ЖнОСазе (чагТаЫейаае) Ж> (1п 501 'егчег Оа1аЬазе)</В></САРТ!Ой></ГОНТ> <ТНЕАО> <Тй> <Ж чагйоаСо) з - оЬ)йесогб5ес, Е1е) бз.

Соопт Гог чаг! - О то чагйоаСо)з — 1 5еС оЬ)Е1е1С - оЬ)йесогб5ет.Е1е)бз (чаг!) И оЬОГ1е)б.йаае о чагКеуйаае ТПеп Ж> <ТН ВВСОСОй=(гсбсОсО ВОИОЕРСОСОИ=ФООООО ><ГОИТ 517Е 2 ЕАСЕ="Аг1а1" СОЕОИ=ФОООООО><Ж-оЬ) Г(е)б.йааеЖ></ЕОМТ></ТН> <Ж Епб !г йехЖЖ> </Тй> </ТНЕАО> <ТВООЧ> <Ж Оп Еггог йезле йехс оЬ)йесогбзег.йочеГ(гас Со НП1)е йос оЬОйесогб5ес.еоГ Ж> <Тй НАС!ОН=ТОР> <Ж чагйлСо) з - оЬОйесогб5ет. Е1е) бз. Соипс Гог чаг! = 0 1о чагйиаСо)з - 1 5е1 оЬОЕ(е)б = оЬ)йесогб5ет.Е1е)сэ(чаг!) 1Т оЬОГ1е)б.йаае <> чагКеуйаае ТПеп Ж> <ТО ВОИОЕИСОЕОй=(гсбсбсО ><ГОНТ 517Е-2 ЕАСЕ "Аг(а!" СОЕОй=(ЕОООООО><Ж=5егчег.НТМЕЕпсобе (оЬ)Г1е)б.ча1ие) Ж><Вй><!ГОНТ></ТО> <Ж Епб !Т МехЖЖ> </Тй> )оорЖ> <Вй Вй><А НИЕГ=ГУ1еий1бвеТаЫез.азр">ч)еи Апобйег ТаЫе</А> </ТВООТ> <ТГООТ></ТГООТ> </ТАВЕЕ> ,.</ВОВУ> ~ </НТМЕ> Остальная часть страницы представляет собой стандартный НТМ1..

Обратите внимание, что полю для ввода текста присвоено имя Жехн. В листинге 15.4 показана АВР-страница Оепега1ТаЫе.азр, которая вызывается, когда АЯР-процессору приходит отклик от страницы с формой, изображенной в листинге 15.3. Первый выполняемый сценарный оператор имеет следующий вид: йейоеаЖ.Еогв — это имя объекта, который содержит значения, посланные браузером. В этом случае 1ех11 будет содержать значение «айа1».

Характеристики

Тип файла
DJVU-файл
Размер
9,56 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6439
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее