人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

用ASP、VB與XML創建互聯網應用程序(3)

用ASP、VB與XML創建互聯網應用程序(3)

更新時間:2022-09-24 文章作者:未知 信息來源:網絡 閱讀次數:

假設在我們前面所說的例子中,我們想在應用程序中顯示區域的左半邊顯示客戶的姓名列表,再在每個客戶姓名后面加上兩個鏈接:Purchase History和Recent Purchase。當用戶點擊其中的一個鏈接,客戶程序就會運行一個存儲過程并在右邊區域顯示出結果。 為了顯示這個想法的靈活性,我想讓用于返回數據的三個操作單元執行不同的工作過程,它們都調用getData.asp。首先,通過調用CustOrderHist來運行一個存儲過程,返回客戶的Purchase History,它搜索Northwind數據庫(為了方便起見我使用MS SQL中自帶的數據庫)并返回一個數據集。用于返回Recent Purchase 的查詢語句運行一個叫RecentPurchaseByCustomerID的存儲過程,來接收輸入的CustomerID參數并通過ProductName參數返回最近顧客購買的商品名。定義其處理過程相應SQL語句如下:

  CREATE PROCEDURE RecentPurchaseByCustomerID @CustomerID nchar(5), @ProductName nchar(40) output AS SELECT @ProductName = (SELECT top 1 ProductName FROM Products INNER JOIN ([Order Details] INNER JOIN Orders ON Orders.OrderID=[Order Details].OrderID) ON Products.ProductID = [Order Details].ProductID WHERE Orders.OrderDate = (SELECT MAX(orders.orderdate) FROM Orders
where CustomerID=@CustomerID) AND Orders.CustomerID=@CustomerID) GO

  不管你的查詢語句中含有動態SQL語句還是含有返回記錄集的存儲過程或是輸出一個返回值,其處理POST消息的方法是一樣的:

  set xhttp = createObject ("msxml2.XMLHTTP")
  xhttp.open "POST", "http://localhost/myWeb/ getData.asp", False
  xhttp.send s

  好了,現在讓我們看一看如何發送和接收數據

  客戶端的XML信息是由一個<command>元素和一些子元素組成:<commandtext>元素包含了存儲過程的名稱,<returnsdata>元素告訴服務器,客戶端是否要求接收返回數據,<param>元素包含參數信息。如果不使用參數的話,那么最簡單的發送字符串查詢就象下面這樣:

  <command>
   <commandtext>

  存儲過程或動態SQL語句

  </commandtext>
   <returnsvalues>True</returnsvalues>
  </command>

  你可以為每一個參數使用一個<param>元素,來添加參數。每個<param>元素有五個子元素:name,type,direction,size和value。子元素的順序可以隨意調換,但是所有的元素都應當有不能缺少,我通常按照定義一個ADO對象的值的順序來定義它們。舉例來說,CustOrderHist存儲過程需要一個CustomID參數,所以用來創建發送到getData.asp的XML字符串的代碼為:

  dim s
   s = "<?xml version=""1.0""?>" & vbcrlf
   s = s & "<command><commandtext>"
   s = s & "CustOrderHist"
   s = s & "</commandtext>"
   s = s & "<returnsdata>" &True</returnsdata>"
   s = s & "<param>"
   s = s & "<name>CustomerID</name>"
   s = s & "<type><%=adVarChar%></type>"
   s = s & "<direction>" & <%=adParamInput%></direction>"
   s = s & "<size>" & len(CustomerID)& "</size>"
   s = s & "<value>" & CustomerID &"</value>"
   s = s & "</param>"
   s = s & "</command>"

  注意,前面的代碼都是客戶端代碼,ADO常量是不在客戶端定義的-這就是它們為什么使用<% %>標記圍起來的原因。服務器在發送響應之前使用正確的值取代它們。getData.asp頁有一個Response.ContentType,它的屬性為"text/xml",這樣,你就可以使用ResponseXML屬性來返回結果了。當請求返回紀錄,你就可以創建一個Recordset對象并且使用XMLHTTP來打開它:

  Dim R
   set R = createObject("ADODB.Recordset")
   R.open xhttp.responseXML

  當查詢語句返回數據時,通過設置XMLHTTPRequest對象的responseXML屬性來創建一個DOMDocument:

  Dim xml
   set xml = xhttp.responseXML

  輸出參數的XML字符串的每個返回值都包含一個元素,它們都是根元素<values>的直接子元素,例如:

  <?xml version=""1.0"" encoding=""gb2312""?>
  <values>
  <paramname>value</paramname>
   <paramname>value</paramname>
  </values>

  如果你的數據使用別的國家的文字,你可能需要把編碼屬性用相應的編碼替換,例如對于大部分歐洲語言,可以使用ISO-8859-1

  客戶端頁面使用返回的數據來格式化一個HTML字符串用于顯示,如:

  document.all("details").innerHTML = <一些格式化的HTML字符串>



溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 南乐县| 青岛市| 剑河县| 漳州市| 泽库县| 古丈县| 清水县| 普兰县| 吴旗县| 师宗县| 体育| 肃宁县| 奉新县| 芷江| 永登县| 汕头市| 华坪县| 柳江县| 高陵县| 攀枝花市| 开化县| 松溪县| 靖宇县| 广德县| 马关县| 龙川县| 平遥县| 漳平市| 潞西市| 松潘县| 花垣县| 乌拉特中旗| 钟祥市| 高青县| 合肥市| 彰化市| 土默特右旗| 始兴县| 中卫市| 连江县| 丰原市|