Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este aplicativo ASP (Active Server Pages) permite que você atualize as informações do cliente na tabela Person.Contact no banco de dados de exemplo adventureworks no Microsoft SQL Server. O aplicativo faz o seguinte:
Solicita que o usuário insira uma ID de contato.
Usa esse valor de ID do cliente para executar um modelo para recuperar informações de contato da tabela Person.Contact.
Exibe essas informações usando um formulário HTML.
Em seguida, o usuário pode atualizar as informações de contato, mas não a ID de contato (porque a ContactID é a chave primária). Depois que o usuário envia as informações, um updategram é executado e todos os parâmetros de formulário são passados para o updategram.
O modelo a seguir é o primeiro modelo (GetContact.xml). Salve esse modelo no diretório associado ao nome virtual do template tipo.
<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>
O modelo a seguir é o segundo modelo (UpdateContact.xml). Salve esse modelo no diretório associado ao nome virtual do template tipo.
<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>
O código a seguir é o aplicativo ASP (SampleASP.asp). Salve-o no diretório associado a uma raiz virtual que você cria usando o utilitário do Gerenciador de Serviços da Internet. (Essa raiz virtual não é criada usando o Gerenciamento de Diretório Virtual do IIS para o utilitário do SQL Server porque o Gerenciamento de Diretório Virtual do IIS para SQL Server não pode acessar nem identificar aplicativos ASP.).
Observação
No código, você deve substituir "ServerName" pelo nome do servidor que executa o 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>