русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Некоторые приемы ASP-технологии


Дата добавления: 2015-07-09; просмотров: 688; Нарушение авторских прав


 

В тех случаях, когда база данных находится на северной стороне т.е. размещена на компьютере, который выполняет функции сервера базы данных, то в этом случает применяют так называемую «клиент-серверную» технологию. Один из популярных подходов решения этой задачи является технология Active Server Page (ASP) фирмы MicroSoft, разработанная для реализации доступа к данным, расположенных на сервере в режиме «клиент-сервер». В основу клиент-серверной концепции положена схема взаимодействия удаленного пользователя с базой данной, которую можно изобразить, как показано на рис. 45

 

 
 

 


Рис.45. Упрощенная схема взаимодействия «клиента» с «сервером» в ASP-технологии

 

В этой схеме клиент, используя браузер, посылает на сервер SQL-запрос, который принимается специальной серверной службой (например, Internet Information Server- IIS) и передается в приложение пользователя (ASP-файл). ASP-приложение обрабатывает запрос, выполняет доступ к базе данных и готовит ответ в формате HTML. Подготовленный по запросу на сервере HTML-файл принимается браузером клиента и разворачивается в форме удобной для восприятии конечным пользователем.

Таким образом, для реализации ASP-технологии доступа к базе данных «Автосалон», необходимо выполнить следующее:

- Разместить базу avto.mdb на сервере в специальном директории, который сервер IIS воспринимает как доступный для уудаленной обработки. Обычно такой директорий создается автоматически при установке IIS и называется C:/Inetpub/wwwroot/.

- Разработать диалоговую HTML-форму для ввода SQL-запроса на стороне клиента.

- Разработать ASP-файл, который будет принимать от клиента (от формы) запрос, обрабатывать его и возвращать клиенту готовый HTML-файл с ответом.

 

В частном случае в качестве сервера может выступать тот же компьютер, на котором находится клиент. В этом случает клиент обращается к серверу по адресу 127.0.0.1 (или присваивает ему имя loacalhost).



 

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

Создание диалоговой HTML-формы проведем в простом редакторе текстов NotePade. На форме разместим следующие объекты:

Произвольный текст;

S1 - список запросов (объект <SELECT>);

S2 – многострочный бокс (объект <TEXTAREA>);

B1 – командная кнопка (объект <INPUT type=button>).

 

Замечание: опытные разработчики могут использовать для создания диалоговых HTML-форм специальные редакторы типа Frontpage.

 

Затем в HTML вводятся тексты скриптов, которые выполняют процедуры обработки событий:

- событие Click на строке списка, для выбора нужного запроса из списка S1 и размещение его в боксе S2;

- событие Click на кнопке, для передачи SQL-запроса из бокса S2 в ASP-процедуру.

 

Пример текста диалоговой HTML-формы клиента приведен ниже:

 

<HTML> <HEAD> <TITLE>Выбор SQL-запроса</TITLE>

<LINK rel="stylesheet" href="TabStyle.css" type="text/css">

<SCRIPT language ="VBScript">

Sub Test()

nn=frm.s1.SelectedIndex

tt=frm.s1.options(nn).value

'msgbox "Проверка =" & nn & " " & tt

frm.S2.value=tt

End Sub

'-----------------------------------

Sub Test2()

tt=frm.S2.value

msgbox "Значение =" & tt

document.frm.submit

End sub

 

</SCRIPT>

<BODY>

<FORM name=frm action="http://127.0.0.1/Avto.asp" method="post">

<h1>

<p>&nbsp;</p>

<center> SQL запросы к базе данных "Автосалон"</center><h1>

<hr>

<h2>Выбери запрос</h2>

<SELECT name=s1 size=3 onclick="Test()">

<OPTION value="SELECT * FROM Salespeople">Просмотр списка сотрудников

<OPTION value="SELECT * FROM Customers">Просмот списка покупателей

<OPTION value="SELECT * FROM Orders">Просмотр заказов

<OPTION value="SELECT pnum as Номер, pname AS Марка, price AS Цена FROM Price">Просмотр прайс листа

<OPTION value="SELECT Salespeople.sname AS Сотрудник, Sum(orders.amount) AS Сумма

FROM Salespeople INNER JOIN orders ON Salespeople.snum = orders.snum

GROUP BY Salespeople.sname"> Суммирование заказов по продавцам

</SELECT>

<hr>

<h2>Выбранный запрос</h2>

<p><textarea name="S2" rows="3"cols="40"></textarea></p>

<input name=b1 type=button value="Выполнить запрос" onclick="Test2()">

</FORM> </BODY> </HTML>

 

Вид рабочей формы клиента со списком SQL-запросов к базе данных «Автосалон» показан на рис. 46.

 

Рис.46. Пример HTML-формы для выбора SQL-запроса к базе данных.

Описание ASP-модулей

 

SQL-запрос, выбранный из списка, помещается в текстовый бокс, где пользователь может выполнить дополнительное редактирование запроса. Затем, нажав кнопку [Выполнить запрос], клиент посылает методом POST содержимое формы на сервер к ASP-процедуре для дальнейшей обработки.

Замечание: Обратите внимание на строку <FORM name=frm action="http://127.0.0.1/Avto.asp" method="post">.

В ней указан адрес локального сервера (127.0.0.1). На практике надо указать адрес фактического сервера, на котором установлена ASP-процедура, обрабатывающая запрос.

 

Процедура Avto.asp принимает запрос от формы клиента и выполняет следующие действия:

- создает объект для установки связи с базой данной на сервере и открывает указанную базу данных;

- создает объект для чтения набора записей по SQL-запросу и производит фактическое чтение данных из базы;

- выводит набор записей в HTML-отчет и передает его на сторону клиента.

 

Пример ASP-процедуры приведен ниже:

 

<%@ language="VBScript" %>

<HTML>

<LINK rel="stylesheet" href="TabStyle.css" type="text/css">

<BODY>

<%

adOpenDynamic=2

adLockPessimistic=2

adCmdText=1

'------ прием запроса от клиента ------------------------

response.write "<H2> Принятые от формы данные </H2>"

StrSQL=Request.form("s2")

response.write "SQL запрос =" & StrSQL & "<BR>"

'-------- подготовить имя базы данных и провайдера -----

Prov=""

DbName="Avto.mdb"

PtName="C:/Inetpub/wwwroot/"

FullDbName=PtName& DbName

response.write " Полное имя базы=" & FullDbName

'----------открыть базу данных на сервере ----------

Set Mydb=Server.CreateObject("ADODB.Connection")

With Mydb

.Provider = "Microsoft.Jet.OleDB.4.0"

.ConnectionString = FullDbName

'.Mode = adModeShareWrite

.Open

End With

'----------- Создать объект типа запись ------------

Set rs = CreateObject("ADODB.RecordSet")

rs.Open StrSQL, MyDB, adOpenDynamic, adLockPessimistic, adCmdText

response.write "<h3>Отчет по запросу: </h3>"

'------- вывод набора записей в таблицу -------------

If rs.EOF = True Then

response.write "<br>Список пуст<br>"

stop

End If

'--- Вывод таблицы в окно браузера ----

rs.MoveFirst

tt="<br><TABLE border=1><TR>"

'--- Строка с заголовками столбцов --

For Each el In rs.Fields

tt = tt & "<TD><h4>" & el.Name & "</h4></TD>"

Next

tt=tt & "</TR>"

'------- Вывод тела таблицы -------------

Do Until rs.EOF

tt=tt & "<TR>"

'---- чтение элементов строки -----

For Each el In rs.Fields

tt = tt & "<TD>" & el.Value & "</TD>"

Next

'---- переход на седующую строку ----

tt=tt & "</TR>"

rs.MoveNext

Loop

'------------- конец формирования таблицы -----

tt=tt & "</TABLE>"

response.write tt

%>

<BODY>

<HTML>

 

Вариант HTL-отчета, который получает клиент по посланному запросу, показан на рис.47.

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

 

Рис.47. Вариант HTML-отчета, подготовленного на сервере по запросу от клиента.

 



<== предыдущая лекция | следующая лекция ==>
Разработка локальных Web-приложений (на VBScript). | Задания для самостоятельной работы.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.023 сек.