• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ASP、VB和XML建互聯網應用程序2

    發布: 2007-9-07 19:42 | 作者: Wayne 天極網 | 來源: eNet論壇 | 查看: 17次 | 進入軟件測試論壇討論

    領測軟件測試網 用ASP、VB和XML建立互聯網應用程序(2)


    讓我們先分析一下客戶端/服務器應用程序。在一個標準的客戶端/服務器應用程序中,在應用程序開始時,你能夠初始化數據庫連接字符串,這就意味著,客戶有使用數據庫連接字符串的權利,這包括用戶名和口令。但是客觀情況如果不允許你在網絡上發送這些信息的話,你就必需在不聯接數據庫的情況下直接從客戶端取得數據發送給客戶。那么解決方案之一就是在服務器上創建一個ASP頁(在本例中稱為getData.asp)接收特定格式的POST數據,它要求一個包含XML字符串,用來創建ADO對象并運行存儲過程或動態SQL語句命令。如果信息有效的話,getData.asp執行存儲過程,并返回一個XML格式的數據集、返回值列表或錯誤頁面信息的XML字符串。對于返回數據的命令,客戶端要么重新實例化要么返回值或使用XML DOM(Document Object Model文檔對象模型)格式的錯誤頁面。

      好,下面就讓我們來討論一下如何實現這個頁面吧!

      getData.asp頁面首先使用一個DOMDocument對象來保存客戶端發送的數據:

      '創建DOMDocument對象
      Set xml = Server.CreateObject ('msxml2.DOMDocument')
      xml.async = False

      然后,它裝載POST數據

      '裝載POST數據
      xml.Load Request
      If xml.parseError.errorCode <> 0 Then
       Call responseError ('不能裝載XML信息。' amp; 'Description: ' amp; xml.parseError.reason amp; '<br>Line: ' amp; xml.parseError.Line)
      End If

      它能夠返回commandtext元素值和returndata或returnvalue元素值。下面我只給出返回commandtext元素值的代碼,其余代碼請參看我下面所附的源程序。

      Set N = xml.selectSingleNode('command/commandtext')
      If N Is Nothing Then
       Call responseError ('缺少 <sp_name> 參數。')
      Else sp_name = N.Text
      End If

      接著,應該讓頁面創建一個Command對象,讀入所有<param>元素,并且為request中的每一個元素創建一個參數。最后,讓頁面打開一個連接使用存儲過程adExecuteNoRecords選項來執行request。

      set conn = Server.CreateObject('ADODB.Connection')
      conn.Mode=adModeReadWrite
      conn.open Application('ConnectionString')
      set cm.ActiveConnection=conn
      ' 返回數據
      if not returnsData then
        cm.Execute
      else
       set R = server.CreateObject('ADODB.Recordset')
       R.CursorLocation = adUseClient
       R.Open cm, ,adOpenStatic, adLockReadOnly
      end if

      如果能夠返回數據的話,那么returnData變量就為真值,并且把結果數據集返回到客戶端,仍然是一個XML文檔。

      if returnsData then
       R.Save Response, adPersistXML
        if err.number <> 0 then
         call responseError ('數據集發生存儲錯誤' amp; '在命令'' amp; CommandText amp; '': ' amp;    Err.Description)
         Response.end
        end if

      如果輸出參數返回值,那么這個頁面將返回一個包含這些值的XML字符串。文檔的根元素是一個<values>標記,每一個返回值都有其相應的子元素,如果發生任何錯誤,頁面都會格式化并返回一個包含錯誤信息的XML字符串:

      Sub responseError(sDescription)
       Response.Write '<response><data>錯誤: ' amp; sDescription amp; '</data></response>'
       Response.end
      End Sub


    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>