文/王漢洲
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語句在伺服器端完成資料庫表檔案的查詢,最後將查詢結果送回瀏覽器端。