ASP 3.0高級編程(四十五)_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:基礎開發入門級:JSP與ASP的比較
      從微軟推出了ASP(ActiveServerPage)后,它以其強大的功能,簡單易學的特點而受到廣大WEB開發人員的喜歡。但是它卻有微軟產品的通病,只能在Windows平臺下使用,雖然它可以通過增加控件而在LINUX

      異步執行是指在后臺檢索數據,可以在全部數據返回之前在Web頁面上使用已經得到的數據。雖然可能需要的是全部的數據,但異步工作至少可提前開始處理數據。也可讓用戶先看到某些內容,這使得Web站點看上去響應能力更強。
      與TDC類似,RDS數據控件可以通過設置OBJECT標記的參數或編寫代碼來設置其屬性。下面舉一個例子:
      <OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"
      ID="dsoAuthors" WIDTH="0" HEIGHT="0">
      <PARAM NAME="Connect" VALUE="DSN=pubs">
      <PARAM NAME="Server" VALUE="W2000">
      <PARAM NAME="SQL" VALUE="SELECT * FROM Authors">
      </OBJECT>
      等效于:
      <OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"
      ID="dsoAuthors" WIDTH="0" HEIGHT="0">
      </OBJECT>

      <SCRIPT LANGUAGE=JScript>

      function window.onload()
      {
      dsoAuthors.Connect = "DSN=pubs";
      dsoAuthors.Server = "W2000";
      dsoAuthors.SQL = "SELECT * FROM Authors";
      dsoAuthors.Refresh();
      }
      </SCRIPT>
      這里為Connect參數使用了一個DSN,因為這非常適合該頁面,但也可以是任何有效的ADO連接字符串。
      URL是ADO 2.5版提供的新特性,允許使用一個文件作為數據源。該文件可以有兩種格式:一種是用Recordset.Save方法保存的記錄集;另一種是一個ASP頁面,它創建一個記錄集,然后將其保存在一個流中。代碼如下:
      <OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"
      ID="dsoAuthors" WIDTH="0" HEIGHT="0">
      <PARAM NAME="URL" VALUE="DataPage.asp">
      </OBJECT>
      文件DataPage.asp包含以下VBScript代碼:
      <%
      Dim rsData
      Set rsData = Server.CreateObject("ADODB.Recordset")
      rsData.Open "SELECT * FROM Authors", strConn
      rsData.Save Response, adPersistXML
      rsData.Close
      Set rsData = Nothing
      %>
      這只是創建了一個記錄集,然后用Save方法將記錄集以XML格式保存到Response對象中。在ADO的早期版本中,只能將記錄集存為物理文件,而ADO 2.5版本能夠直接將其存為流。這個ASP頁面的結果就是XML格式的記錄集。下一章將研究關于流和XML數據的所有主題。
      使用URL屬性優于使用Connect和SQL屬性,其最大優點是:在用戶可以看到的網頁中不會出現連接的細節。考慮下面的對象定義:
      <OBJECT CLASSID="clsid: BD96C556-65A3-11D0-983A-00C04FC29E33"
      ID="dsoAuthors" WIDTH="0" HIGHT="0">
      <PARAM NAME="Connect" VALUE="DSN=pubs">
      <PARAM NAME="Server" VALUE="W2000">
      <PARAM NAME="SQL" VALUE="SELECT * FROM Authors">
      </OBJECT>
      第一行顯示了連接的細節。此時能夠看到DSN為pubs,并且我們選擇了authors表的全部列。這無疑為電腦黑客進入Web站點提供了潛在的路徑,因為他們知道了服務器的名稱以及數據庫的一些細節。現在,考慮一下使用URL屬性的情況:
      <OBJECT CLASSID="clsid: BD96C556-65A3-11D0-983A-00C04FC29E33"
      ID="dsoAuthors" WIDTH="0" HIGHT="0">
      <PARAM NAME="URL" VALUE="DataPage.asp">
      </OBJECT>
      現在,用戶所見到的是一個ASP網頁的URL地址,沒有任何有關服務器和數據庫的詳細信息。
      使用CONNECT/SQL屬性的方法,用戶可以清楚地見到連接的細節,而使用URL所見的卻是數據。從這一點上來說,消除了一個安全問題。
      在腳本中設置RDS數據控件的屬性時,必須使用Refesh方法,如下所示:
      <SCRIPT LANGUAGE=JScript>

      function window.onload()
      {
      dsoAuthors.URL="DataPage.asp";
      dosAuthors.Refresh();
      }
      </SCRIPT>
      這將強迫數據控件使用新的屬性值,并重新從數據提供者那里檢索數據。除了Refresh方法外,RDS數據控件還有許多其他方法,如表10-3所示:
      表10-3 RDS數據控件的方法及說明
      方 法
      說 明

      Cancel
      取消任何異步操作

      CancelUpdate
      取消對數據的任何修改

      CreateRecordset
      創建一個空的記錄集,這允許在本地創建新的數據集

      MoveFirst
      移到第一條記錄

      MoveLast
      移到最后一條記錄

      MoveNext
      移到下一條記錄

      MovePrevious
      移到上一條記錄

      Refresh
      更新來自數據存儲的數據

      Reset
      應用過濾或排序條件

      SubmitChanges
      將所有未解決的修改送回數據存儲

      在本章后面,會見到大多數方法的使用情況。
      3. MSHTML數據控件
      微軟HTML(MSHTML)數據控件比較特別的地方在于:MSHTML是IE的一個組成部分,并能提供一個基于HTML文檔的數據源。雖然本質上MSHTML并不是為數據存儲使用的一種格式,但如果確實有許多包含某些數據格式的HTML網頁,MSHTML可能會變得較為有用。

      分享:ASP常見數學函數 Abs Atn Cos 等詳解
      【名稱】 Abs 【類別】 數學函數 【原形】 Abs(number) 【參數】 必選的。Number參數是一個任何有效的數值型表達式 【返回值】 同number的類型 【異常/錯誤】 無 【描

      來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
      相關ASP教程