Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Это приложение Active Server Pages (ASP) позволяет обновлять сведения о клиентах в таблице Person.Contact в примере базы данных AdventureWorks в Microsoft SQL Server. Приложение выполняет следующее:
Запрашивает у пользователя ввод идентификатора контакта.
Использует это значение идентификатора клиента для выполнения шаблона для получения контактных данных из таблицы Person.Contact.
Отображает эти сведения с помощью HTML-формы.
Затем пользователь может обновить контактные данные, но не идентификатор контакта (так как ContactID является первичным ключом). После отправки сведений пользователь выполняет диаграмму обновления, а все параметры формы передаются в диаграмму обновления.
Следующий шаблон является первым шаблоном (GetContact.xml). Сохраните этот шаблон в каталоге, связанном template с виртуальным именем типа.
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:header>
<sql:param name="cid"></sql:param>
</sql:header>
<sql:query>
SELECT *
FROM Person.Contact
WHERE ContactID=@cid
FOR XML AUTO
</sql:query>
</root>
Следующий шаблон является вторым шаблоном (UpdateContact.xml). Сохраните этот шаблон в каталоге, связанном template с виртуальным именем типа.
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:header>
<updg:param name="cid"/>
<updg:param name="title" />
<updg:param name="firstname" />
<updg:param name="lastname" />
<updg:param name="emailaddress" />
<updg:param name="phone" />
</updg:header>
<updg:sync >
<updg:before>
<Person.Contact ContactID="$cid" />
</updg:before>
<updg:after>
<Person.Contact ContactID="$cid"
Title="$title"
FirstName="$firstname"
LastName="$lastname"
EmailAddress="$emailaddress"
Phone="$phone"/>
</updg:after>
</updg:sync>
</ROOT>
Следующий код — это приложение ASP (SampleASP.asp). Сохраните его в каталоге, связанном с виртуальным корнем, созданным с помощью служебной программы Диспетчера служб Интернета. (Этот виртуальный корневой каталог не создается с помощью служебной программы управления виртуальными каталогами IIS для SQL Server, так как управление виртуальными каталогами IIS для SQL Server не может получить доступ к приложениям ASP или идентифицировать их.
Замечание
В коде необходимо заменить имя сервера, на котором запущены службы Microsoft Internet Information Services (IIS).
<% LANGUAGE=VBSCRIPT %>
<%
Dim ContactID
ContactID=Request.Form("cid")
%>
<html>
<body>
<%
'If a ContactID value is not yet provided, display this form.
if ContactID="" then
%>
<!-- If the ContactID has not been specified, display the form that allows users to enter an ID. -->
<form action="AdventureWorksContacts.asp" method="POST">
<br>
Enter ContactID: <input type=text name="cid"><br>
<input type=submit value="Submit this ID" ><br><br>
<-- Otherwise, if a ContactID is entered, display the second part of the form where the user can change customer information. -->
<%
else
%>
<form name="Contacts" action="https://localhost/AdventureWorks/Template/UpdateContact.xml" method="POST">
You may update customer information below.<br><br>
<!-- A comment goes here to separate the parts of the application or page. -->
<br>
<%
' Load the document in the parser and extract the values to populate the form.
Set objXML=Server.CreateObject("MSXML2.DomDocument")
ObjXML.setProperty "ServerHTTPRequest", TRUE
objXML.async=False
objXML.Load("https://localhost/AdventureWorks/Template/GetContact.xml?cid=" & ContactID)
set objCustomer=objXML.documentElement.childNodes.Item(0)
' In retrieving data from the database, if a value in the column is NULL there
' is no attribute for the corresponding element. In this case,
' skip the error generation and go to the next attribute.
On Error Resume Next
Response.Write "Contact ID: <input type=text readonly=true style='background-color:silver' name=cid value="""
Response.Write objCustomer.attributes(0).value
Response.Write """><br><br>"
Response.Write "Title: <input type=text name=title value="""
Response.Write objCustomer.attributes(1).value
Response.Write """><br><br>"
Response.Write "First Name: <input type=text name=firstname value="""
Response.Write objCustomer.attributes(2).value
Response.Write """><br>"
Response.Write "Last Name: <input type=text name=lastname value="""
Response.Write objCustomer.attributes(3).value
Response.Write """><br><br>"
Response.Write "Email Address: <input type=text name=emailaddress value="""
Response.Write objCustomer.attributes(4).value
Response.Write """><br><br>"
Response.Write "Phone: <input type=text name=phone value="""
Response.Write objCustomer.attributes(9).value
Response.Write """><br><br>"
set objCustomer=Nothing
Set objXML=Nothing
%>
<input type="submit" value="Submit this change" ><br><br>
<input type=hidden name="contenttype" value="text/xml">
<input type=hidden name="eeid" value="<%=ContactID%>"><br><br>
<% end if %>
</form>
</body>
</html>