Udostępnij za pośrednictwem


Za pomocą wierzchołki w przykładowej aplikacji ASP (SQLXML 4.0)

Ta aplikacja Active Server Pages (ASP) umożliwia aktualizowanie informacji o kliencie w tabela Person.Person w AdventureWorks2008R2 przykładowej bazy danych w programie Microsoft SQL Server.Aplikacja wykonuje następujące czynności:

  • Prosi użytkownika o wprowadzenie identyfikatora obiekt biznesowej

  • Używa tej wartości Identyfikatora wykonać szablon, aby pobrać informacje o kontakcie z tabela Person.Person.

  • Wyświetla informacje za pomocą formularza HTML.

Użytkownik może następnie zaktualizować informacje o kontakcie, ale nie identyfikator obiekt biznesowej (ponieważ jest BusinessEntityID klucz podstawowy).Po przesłaniu informacji wykonywane wierzchołki i wszystkie parametry formularza są przekazywane do wierzchołki.

Następujący szablon jest pierwszy szablon (GetPerson.xml).Zapisz szablon w katalogu, który jest skojarzony z nazwą wirtualnego template typu.

<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
   <sql:header>
      <sql:param name="bid"></sql:param>
   </sql:header>
   <sql:query>
      SELECT  * 
      FROM    Person.Person
      WHERE   BusinessEntityID=@bid 
      FOR XML AUTO
   </sql:query>
</root>

Następujący szablon jest drugim szablonu (UpdatePerson.xml).Zapisz szablon w katalogu, który jest skojarzony z nazwą wirtualnego template typu.

<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:header>
   <updg:param name="bid"/>
   <updg:param name="jobtitle" />
   <updg:param name="firstname" />
   <updg:param name="lastname" />
</updg:header>
<updg:sync >
   <updg:before>
      <Person.Person BusinessEntityID="$bid" /> 
   </updg:before>
   <updg:after>
      <Person.Person BusinessEntityID="$bid" 
       JobTitle="$jobtitle"
       FirstName="$firstname"
       LastName="$lastname"/>
   </updg:after>
</updg:sync>
</ROOT>

Poniższy kod jest aplikacja ASP (SampleASP.asp).Zapisz go w katalogu, który jest skojarzony z wirtualnego katalogu głównego można utworzyć przy użyciu narzędzia Menedżer usług internetowych.(Ten wirtualny katalog główny nie jest tworzony przy użyciu zarządzania katalogu wirtualnego usług IIS dla SQL Server Narzędzie ponieważ zarządzanie wirtualnym katalogu IIS dla SQL Server nie może uzyskać dostęp lub zidentyfikować aplikacje ASP.).

Ostrzeżenie

W kodzie należy zastąpić "Nazwa_serwera" z nazwą serwera z systemem Microsoft Internet Information Services (IIS).

<% LANGUAGE=VBSCRIPT %>
<%
  Dim BusinessEntityID
  BusinessEntityID=Request.Form("bid")
%>
<html>
<body>
<%
  'If a BusinessEntityID value is not yet provided, display this form.
  if BusinessEntityID="" then
%>
<!-- If the BusinessEntityID has not been specified, display the form that allows users to enter an ID. -->
<form action="AdventureWorksPeople.asp" method="POST">
<br>
Enter BusinessEntityID: <input type=text name="bid"><br>
<input type=submit value="Submit this ID" ><br><br>
<-- Otherwise, if a BusinessEntityID is entered, display the second part of the form where the user can change customer information. -->
<%
  else
%>
<form name="People" action="https://localhost/AdventureWorks2008R2/Template/UpdatePerson.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/AdventureWorks2008R2/Template/GetPerson.xml?bid=" & BusinessEntityID)
    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 "Business Entity ID: <input type=text readonly=true style='background-color:silver' name=bid value="""
  Response.Write objCustomer.attributes(0).value
  Response.Write """><br><br>"


  Response.Write "Job Title: <input type=text name=jobtitle 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>"

  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="<%=BusinessEntityID%>"><br><br>
<% end if %>

</form>
</body>
</html>