ASP對資料庫的訪問

來源:互聯網
上載者:User

  文/王漢洲

  ASP即Active Server Page,是微軟推出的動態Web設計技術,是用於WWW服務的伺服器端指令碼環境,在網站的Web伺服器上解釋指令碼,可產生並執行動態、互動式、高效率的站台伺服器應用程式。

  概述



  利用ASP,我們可以很容易地把HTML(超文字標記語言 (HTML))文本、指令碼命令及ActiveX組件混合在一起構成ASP頁,以此來產生動態網頁,建立互動Web網站,實現對Web資料庫的訪問。當使用者使用瀏覽器請求ASP首頁時,Web伺服器響應,調用ASP引擎來執行ASP檔案,並解釋其中的指令碼語言(JScript或VBScript),通過ODBC串連資料庫,由資料庫訪問組件ADO(ActiveX Data Objects)完成資料庫操作,最後ASP產生包含有資料查詢結果的HTML首頁返回使用者端顯示。

  由於ASP在伺服器端運行,運行結果以HTML首頁形式返回使用者瀏覽器,使用者在用戶端瀏覽器看到的僅僅是ASP頁的執行結果所產生的頁,而ASP頁本身的內容使用者在用戶端瀏覽器是看不到的,增加了系統的安全保密性。此外,ASP是物件導向的指令碼環境,使用者可自行增加ActiveX組件來擴充其功能,拓展應用範圍。

  ASP訪問資料庫步驟

  在ASP中,可通過以下步驟實現對Web資料庫的訪問:

  1、定義資料來源

  在Web伺服器上開啟“控制台”,選中“ODBC”,在“系統DSN”下選“添加”,選定你希望的資料庫種類、名稱、位置等。本文定義“SQL Server”,資料來源為“HT”,資料庫名稱為“HTDATA”,指令碼語言採用JScript。

  2、使用ADO組件查詢Web資料庫

  1)調用Server.CreateObject方法取得“ADODB.Connection”的執行個體,再使用Open方法開啟資料庫:

  conn = Server.CreateObject("ADODB.Connection")

  conn.Open("HT")

  2)指定要執行的SQL命令

  串連資料庫後,可對資料庫操作,如查詢、修改、刪除等,這些都是通過SQL指令來完成的,如要在資料表signaltab中查詢代碼中含有“X”的記錄:

  sqlStr = "select * from signaltabswherescode like '%X%'"

  rs = conn.Execute(sqlStr)

  3)RecordSet的屬性和方法

  為了更精確地跟蹤資料,要用RecordSet組件建立包含資料的遊標,遊標就是儲存在記憶體中的資料:

  rs = Server.CreateObject("ADODB.RecordSet")

  rs.Open(sqlStr,conn,1,A)

  註:A=1表示讀取資料;A=3表示新增、修改或刪除資料。

  在RecordSet組件中,常用的屬性和方法有:

  rs.Fields.Count:RecordSet對象欄位數。

  rs(i).Name:第i個欄位的名稱,i為0至rs.Fields.Count-1

  rs(i):第i個欄位的資料,i為0至rs.Fields.Count-1

  rs("欄位名"):指定欄位的資料。

  rs.Record.Count:資料記錄總數。

  rs.EOF:是否最後一條記錄。

  rs.MoveFirst:指向第一條記錄。

  rs.MoveLast:指向最後一條記錄。

  rs.MovePrev:指向上一條記錄。

  rs.MoveNext:指向下一條記錄。

  rs.GetRows:將資料放入數組中。

  rs.Properties.Count:ADO的ResultSet或Connection的屬性個數。

  rs.Properties(item).Name:ADO的ResultSet或Connection的名稱。

  rs.Properties:ADO的ResultSet或Connection的值。

  rs.close():關閉串連。

  4)關閉資料庫

  conn.close()

  執行個體

  下面的執行個體是某技術中心商品查詢系統中的Web功能模組開發,系統要求當使用者輸入查詢資訊,如:產地或產品類別後,系統能返回查詢結果.我們以產品類別為例:catachoi.asp檔案利用Form標籤形成一個查詢入口,當使用者選擇了某產品類別,並按下“Submit”按鈕後,它將產品類別號以ProdName變數的形式送到p_result.asp中,p_result.asp根據ProdName的值,使用SQL語句在伺服器端完成資料庫表檔案的查詢,最後將查詢結果送回瀏覽器端。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.