|
Добрый день. Подскажите формулы при решении задачи на рис. 2.2 в лекции №2. Закон Ома, какие должны использоваться формулы для I и R |
Объекты ADO (продолжение)
Пример работы с объектами ADO при создании Web-документов
Последний пример в этой главе я хочу посвятить хотя бы беглому знакомству использования объектов ADO в сценариях, написанных на VBScript. Я рассмотрю пример, представляющий фрагмент создания Web-узла. Создаваемый узел является активным, он может реагировать на действия пользователя, используя для этих целей технологию ASP(Active Server Page) страниц. Напомню, эти страницы содержат сценарии, которые собственно и определяют реакцию на действия пользователя. Особенностью ASP-страниц является то, что код сценариев выполняется на сервере и пользователю пересылается статическая страница, содержащая не код, а результат его выполнения.
В рассматриваемом фрагменте рассматривается типичная для активных Web-узлов ситуация, когда пользователь заполняет некоторую форму и отсылает ее на сервер. ASP-страница обрабатывает данные формы, сохраняет их в базе данных, добавляя новые записи в таблицы, и формирует новую страницу, пересылаемую пользователю. Вот как выглядит страница узла, на которой пользователь заполняет форму:
Приведу теперь текст ASP-страницы, которая выполняется на сервере:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>vbazu</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta name="Microsoft Theme" content="none, default">
<meta name="Microsoft Border" content="none, default">
</head>
<body>
<table border="0" width="100%" bgcolor="#0000FF" cellspacing="0" cellpadding="0" height="81">
<tr>
<td width="100%" height="62">
<p align="center">
<b><font face="Bradley Hand ITC" size="7" color="#FFFFFF">BiVANT </font></b></td>
</tr>
<tr>
<td width="100%" bgcolor="#FFFF00" height="19">
<font color="#0000FF"><b><a href="index.htm">BiVANT</a>
<a href="книги.htm">Книги</a> <a href="статьи.htm">Статьи</a>
<a href="учебники.htm">Учебники</a> <a href="обучение.htm">Обучение</a>
<a href="чайничек.htm">Чайничек</a>
<a href="Дело%20отца/дело_отца.htm">Дело_Отца</a>
<a href="онас.htm">О нас</a> <a href="авторы.htm">Авторы</a></b></font></td>
</tr>
</table>
<p>
<%
'Переменные, задающие поля формы
Dim DAvtor, DFam, DName, DVid, DGorod, Dmail, DOtziv, DVopros, DPriob
'Передача значений полей формы
DFam= Request.Form("Fam")
DName = Request.Form("Name")
DVid= Request.Form("Vid")
DGorod =Request.Form("Gorod")
Dmail= Request.Form("mail")
DOtziv= Request.Form("Otziv")
DPriob= Request.Form("Priob")
DVopros =Request.Form("Vopros")
DAvtor = Request.Form("Avtor")
'Объявление объектов ADO - Connection, Command, Recordset
Dim Cconnect, Cmd, Records
Dim StrSQL 'строка запроса
' Установить связь с базой данных
Set Cconnect =Server.CreateObject("ADODB.Connection")
Cconnect.ConnectionString= "provider=microsoft.jet.oledb.4.0;" &
"data source ='d:\Bivant\svyaz.mdb'"
Cconnect.Open
'Формирование строки запроса
StrSQL = "Select * From VoprosOtvet"
'Создание команды и задание свойств объекта Command
Set Cmd =Server.CreateObject("ADODB.Command")
Cmd.ActiveConnection = Cconnect
Cmd.CommandText = StrSQL
Cmd.CommandType =1
'Работа с RecordSet
Set Records =Server.CreateObject("ADODB.Recordset")
With Records
'Открытие обновляемого объекта RecordSet
.Open Cmd,,2,3
' Добавление записи
.MoveFirst
.AddNew
.Fields("Автор")=DAvtor
.Fields("Вопрос") = DVopros
.Fields("Отзыв") = DOtziv
.Fields("Фамилия") =DFam
.Fields("Имя") =DName
.Fields("Город") = DGorod
.Fields("Вид_деят") =DVid
.Fields("Почта") =Dmail
.Fields("Приобрести") =DPriob
.Update
End With
%>
<b>Спасибо за Ваш интерес к нашей тематике!</b>
</p>
<p><b>Мы постараемся учесть Ваши пожелания и
своевременно ответить на вопрос. </b>
</p>
</body>
</html>Приведу теперь комментарии к этому тексту:
- Текст написан на HTML и представляет содержание ASP-страницы, в задачу которой входит обработать посылаемую пользователем форму. Большая часть текста задает сценарий, написанный на VBScript, и именно эту часть я и буду комментировать. Для удобства восприятия код сценария подсвечен.
- Язык VBScript является нетипизированным языком, все переменные принадлежат к одному универсальному типу Variant, поэтому для переменных, соответствующих полям формы не задан тип.
- Объект ASP Request позволяет передать значения из полей формы в переменные VBScript.
- Затем начинается работа с объектами ADO, которые создаются на сервере методом CreateObject объекта Server.
- Вся остальная часть работы с объектами ADO - создание соединения с базой данных, формирование команды, набора записей, добавление новой записи к объекту Recordset и обновление базы данных, выполняется на VBScript совершенно аналогично тому, как это делалось на VBA. В результате выполнения этого сценария база данных действительно изменяется и данные, посланные в форме, будут сохранены в соответствующей таблице базы данных.
На этом я закончу разговор о компонентах ADO, представляющих универсальный способ взаимодействия с самыми разными источниками данных.
