Za pomocą Updategram w przykładową aplikację ASP (SQLXML 4.0)
Ta aplikacja Active Server Pages (ASP) umożliwia aktualizowanie informacji o klientach w tabela Person.Contact AdventureWorks przykładowej bazy danych w programie Microsoft SQL Server. Aplikacja wykonuje następujące czynności:
Pyta użytkownika o wprowadzenie kontaktu, nazwę.
Używa tej wartości IDENTYFIKATORA klienta do wykonywania szablon, aby pobrać informacje o kontakcie z tabela Person.Contact.
Wyświetla te informacje przy użyciu formularza HTML.
Użytkownik może, a następnie aktualizację informacji kontaktowych, ale nie kontaktu identyfikator (ponieważ ContactID jest klucz podstawowy).Po użytkownik przesyła informacje, an updategram jest wykonywane i wszystkie parametry formularza są przekazywane do updategram.
Następujący szablon jest pierwszym szablonu (GetContact.xml).Zapisz ten szablon w katalogu, który jest skojarzony z nazwą wirtualnych template Typ.
<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>
Następujący szablon jest drugim szablonu (UpdateContact.xml).Zapisz ten szablon w katalogu, który jest skojarzony z nazwą wirtualnych template Typ.
<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>
Następujący kod jest aplikacji ASP (SampleASP.asp).Zapisz go w katalogu, w którym jest skojarzona z wirtualnego katalogu głównego, utworzone przy użyciu narzędzia Menedżer usług internetowych.(Ten wirtualny katalog główny nie jest tworzony za pomocą zarządzania katalog wirtualny usług IIS dla SQL Server Narzędzie ponieważ zarządzanie katalogu wirtualnym usług IIS dla SQL Server Nie można uzyskać dostępu lub określenie aplikacji ASP.).
Uwaga
W kodzie "Nazwa_serwera" należy zastąpić nazwą serwera, na którym uruchomiony jest program 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>