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

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

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

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

Если вы хотите, чтобы ваше приложение выглядело и вело себя лучше, вы должны быть способны соответствующим образом модифицировать этн примеры. Сейчас вам следует просто научитъся использовать АЕ)О. Все эти примеры работают с базой данных У!етч К!т!яе. В некоторых из них мы соединяемся с источником данных Ч!еьчй)бйе55 — базой данных 5ьаь 5егчег, в других мы используем Ч)ечтй1бйеОгас!е — базу данных Огас!е.

В последнем примере требуется изменить всего один оператор, чтобы переключиться с 50Е Бегчег на Огас1е! Это удивительно, и это как раз то, на что надеялись разработчики спецификации ОВВС. Как вы знаете из предыдущей главы, протокол НТТР не имеет состояния. АБР-процессор, тем не менее, будет поддерживать состояние транзакции. Для каждой транзакции он хранит набор сеансовых переменных. В этих примерах мы будем использовать сеансовые переменные для сохранения соединений. Оператор создает сеансовую переменную с именем «або» и присваивает ей строковое значение «ЧЧотчзегв».

Более осмысленные примеры последуют далее. Чтобы запустить любую из этих АЗР-страниц, откройте браузер и введите Истр:г?1оса1ловтгЧ)енй1бреЕхаюр1е1Хиня файла,авр Здесь имя файла — это имя АЗР-страницы. Если вы запускаете АБР-страницу не с того компьютера, где работает П5, а с какого-то другого, вместо «!оса!Ьовв» следует ввести адрес вашего сервера. Пример 1 — чтение таблицы В листинге 15.1 показана А5р-страница, которая отображает содержимое табли- цы АВТ15Т. Листинг 15.1. Аг1)з1.азр <НТМЕ> <НЕАО> <МЕТЯ НТТР-ЕОО)Ч="Сопгепт-Туре" СОИТЕИТ="!ехьХЬгю1;сбагвеб=н1пбонв-1252"> <Т1ТЕЕ>Ягю в 1<! Т1ТЕЕ> <гНЕАО> <1--№1пс1обе чтггиа1-"Ч1енй1ООеЕхаюр1е1габочбз.)лс"-- <ВООУ> <в 01ю оЬОСопп, оЬ)йесогб5ет, чаг5о1 11 1зОЬОест(5евв1оп1" сопл")) ТЬеп 'если соединение уже установлено.

' используеи его 5ег оЬ)Сопл = 5евз)оп(" сопл") Е1ве 5ет оЬОСопп - 5егчег,СгеатеОЬОесССАОООВ.соппесгтоп") ' устанавливаем соединение оЬОСопп.преп "Ч)енйтбйе55", "ва" ' открываеи файл ООВС 5ОЕ 5егчег ' как пользователь ва, без пароля оЬОСопп. 1во1ат)опЕече! = аОХассйеаОСопвпггеб ' избегаен «грязного» ' чтения 5ес 5езвтоп!" сопл") = оЬОСопп Епб 11 5ес оббйесогб5е1=5егчег.СгеатеОЬ)ест!"АОООВ.йесогбзеС') 'создаеи объект ' гесоговес чаг5р1 = "5ЕЕЕСТ Аг11втнаюе. Иаг1опа11ьу ЕЙОН АНП5Т" 'настраиваен ' 5ОЕ-коканду оьдйесого5ет.брел чаг5о1, оьбсопп, аобреп51ас1с, аоеосиеаобп1у 'курсор статический. обновление не требуется <ТАВЕЕ ВОВОЕй= 1 ВОСОЕОВ=№ТТТГТТ СЕЕЕ5РЯС1И6=5 РОИТ РАСЕ="Аг!а1" СОЕОР=№000000><САРТ!ОИ><В>АНТ15Т<!В><гСАРТ1ОИ><гЕОИТ> <ТНЕАО> <Тй> Примеры использования А00 883 Листинг 15.1 (продолжение) </тй> 5ЕЕЕСТАгтгэгйапи.

Иатгопа)ггу ГЙОМАЙТ!5Т 882 Глава 15. 00ВС, ОЬЕ 0В, А00 и АЯР <ТН ВЯСОЬОЙ-ФсСсСсС ВОЙОЕЙСОЬОЙ=)1000000><ГОНТ 5!7Е=2 ЕЯСЕ-"Агта)" СОЕОЙ=0000000>йав(е</ГОНТ /ТН> <ТН ВВСОЬОЙ=УсСсСсС ВОЙОЕЙСОЕОЙ=(/000000 ><ГОНТ 5!7Е=2 ГАСЕ="Аг1а)" СОЬОЙ=(гй00000>йа(1опа)~гу</ГОНТ></ТН> </ТЙ> </ТНЕАО> <ТВООУ> <з Оп Еггог Йеэиве йехг оЬОЙесог05ет.МочеГтгвт оо нш )е йот оЬ)йесог05е!.ест 2> <Тй УАЕ1ОИ=ТОР> <тО ВОЙОейсОСОЙ-(ГсСсссс еОит 517е=2 ГАсе="Аг)а)" СОСОЙ-ФСССССС><1=5егчег.НТМЕЕпсог)е(оЬ)йесог05ет("Агы э(йавге"))Ж><ВЙ></ГОНТ></ТО> <ТО ВОЙОЕЙСОСОЙ=(гсСсСсС> ЕОИТ 517Е-2 ГАСЕ="Аг1а)" СОЬОЙ=ФСССССС><$=5егчег.НТМСЕпсоее(ЬЬ)йесогг)5ег("Иаг)опа)1гу"))1> Вй /ЕОйт></ТО) <1 Епг) !т йехгФ> <Тй> <х оЬОЙесог05еЬ,МочейехЬ )оор1> </ТВООУ> <ТГООТ></ТЕООТ> </ТАВЬЕ> </ВООУ> </НТМЬ> Начинается страница со стандартного НТМЬ.

Первый раздел серверного кода создает объект Соппесбоп, а затем объект йесогг(5еЬ содержащий результаты выполнения следующего ЯЯЬ-оператора: Поскольку соединения используют большое количество ресурсов, как в смысле времени, требуемого на их создание, так и в смысле количества потребляемой ими памяти, объект Соппесйоп в этом примере сохраняется в сеансовой переменной сопл.

В первый раз, когда пользователь вызовет АВР-страницу, соедине- ние еше не будет существовать. В этом случае результатом вызова функции 1вОЬ)ест!" сопл") будет значение Га(ве, так как переменная сопл еще не указывает ни на какой объект, Код, следующий за оператором Е(ве, создает объект Соппесйоп. Далее создается объект йесогб5ет для оператора 5ЕЕЕСТ в переменной чаг5()!.

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

15ТЕ В этой странице и в породившем ее АВР-файле нет ничего впечатляющего, за исключением следующего обстоятельства: если бы эта страница находилась в Интернете, ее могли бы видеть более 250 миллионов человек во всем мире! При этом им не понадобилось бы никакого программного обеспечения, кроме того, что уже установлено на их компьютерах.

Рис. 16.9. Результат выполнения АЯР-страницы АП)в1.авр 584 Глава 15. ОВВС, ОСЕ ОВ, АРО и АЯР Примеры использования АОО 585 Пример 2 — чтение таблицы обобщенным способом В первом примере объекты, составляющие объектную модель АРО, использовались по минимуму. Мы можем расширить этот пример за счет использования коллекции Г(е!Вв Предположим, мы хотим задавать имя таблицы в качестве параметра, а на выходе получать содержимое всех столбцов этой таблицы, за исключением суррогатного ключа.

А5р-страница, показанная в листинге 15.2, выполнит эту задачу, с той оговоркой, что имя таблицы будет задаваться в переменной чагтаЫейаве. В следующем примере будет показано, как организовать ввод имени таблицы с использованием средств обработки форм НТМЕ. Листинг 15.2. СыатогпегОгас)е.аар «НТМС> <НЕАО> МЕтд НТТР-ЕО01У="Сап!ел!-туре" СОНТЕйт=тбехт/Ьтв);сЬ вес. )пасы -1252- <Т!ТСЕ>таЫ е Отвр1ау Раде</Т!ТЕЕ> </НЕАО> <ВООУ> <1-Ф пс1ыае чтгтыа1="У(енй(одеЕхавр1е((абочЬв.(пс"--> <Ж Отв оЬ~Сапп.

оЬ1йесог05ет, оЬОГ)е10 Отв чагйывСо1в, чан, чаг5о1 0)в чагТаЫейаве. чагКеуйаве чагТаЫепаве = "С05ТОМЕй" чагКеуйаве = "С05ТОМЕЙ!О" !Г 1зОЬОесС(5еявтоп(" сопл")) Тйеп ' если соединение уие установлено, ' используеи его 5е! оЬ)Сопл = 5евзтоп(" сопл") Е1зе 5ет оЬОСопп = 5егчег СгеатеОЬ1ест("АОООВ.соппест1оп") ' устанавливаеи ' соединение 'аткрываеи ООВС-файл Огас1е из-лод учетной записи вувтев с паролеи вапайег оЬ)Сопл.орел "Ч1енйтайеОгас1е", "вувсев", "вапацег" оЬ)Сопл.!зо1а((апСече1 = ааХасьйеааСоввтттеб ' избегаеи «грязного» чтения 5ет 5еввтоп(" сопл") = оЬОСопп Епб 1Г 5ес аЬ)йесог05ес = 5егчег.СгеатеОЬ)ест("АОООВ.йесоговеС") чаг500 = "5ЕЕЕСТ * ГЙОМ " а чагТаЫейаве оЬ)йесога5еС.Орел чаг5О1.

оЬОСопп ' тип курсора и тил блокировки ' не поддерживаются драйверои Огас1е Ж> <ТАВСЕ ВОЙОЕЙ=! ВИСОСОЙ=((тттттт СЕГС5РАС!КО=5><ГОНТ ГАСЕ="Аг(а1" СОЕОЙ = т)000000> САРТ10й><В <ЖчагТаЫ ейавеЖ> (1и Огас1е батаЬаве) </В /САРТ10Н (ГОНТ> <ТНЕАО> <Тй> <Ж чагйывСо1з - оЬОйесаг05ес. Гте1()в. Соапс Гог чаг1 = 0 'ьа чагйывСо1я - 1 5ет оЬ)Гте10 - оЬ)йесог05еС.Г(е10в(чаг!) !т оь1Г(е)о.йаве чагкеуйаве тьеп ' опускаея суррогатный ключ ж > <ТН ВЯСОЕСЙ=Фсбсбс0 ВОЙОЕЙСОСОЙ=Ф000000 ><ГОНТ 512Е-2 ГАСЕ="Агта1" СОЕОЙ=Ф00030 Ж=оЬОГ)е10. йаве Ж></ГОНТ></ТН> <Ж Епа !У йехтЖ> </Тй> </ТНЕАО> <ТВООУ> <Ж Оп Еггог йеяыве йех1 оЬОйесога5ет.МочеГ)гвС Оо нЫ )е йот оЬОйесог05ет,еот Ж> <Тй НАС!ОН=ТОР> <Ж чагйавСо1в - аЬОйесога5ет. Г(е1ав.

Соыпс Гог чаг) " 0 то чагйигпСо1в - ! 5ес оЬОГ)е10 = оЬ)йесог05еь.Гте1ав(чаг1) 1/ оЬ1Гте1().йаве чагКеуйаве Тнеп ' опускаеи суррогатный ключ Ж> <ТО ВОЙОЕСОЕОЙ=((сОсОсО > ГОНТ 5!ЕЕ - 2 ГАСЕ="Агта1" СОЕОЙ-()000000><Ж-5егчег НТМСЕпсобе (оЬОГте10,ча1ие тЖ><ВЙ>«/ГОНТ></ТО> <Ж Епо 1Г йехтЖ> </Тй> <Ж оЬОйесога5ет.

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

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

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

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