本篇教大家如何在ASP中使用數據庫:
ASP有一個最重要的功能,就是它可以讓你非常輕松地連接數據庫。通常都是和一個Access或者一個SQL數據庫相連。因為Access是最容易起步的,同時,在你的機器上也許已經都裝有Access了,所以,在下面的例子中,我們都將使用Access來做例子。一旦你學習了ASP和Access數據庫連接的核心技術方法,當你開始使用SQL server的時候,你就會發現,兩者所需要的關鍵技術是基本相同的。
當你要連接數據庫的時候,你需要在服務器上將這個數據庫打開。你可以通過使用數據源名(DSN)或者通過在你的腳本語言中直接使用一個DSN-less連接的方法來連接和打開數據庫。
創建一個數據源名(DSN)
你可以通過在控制面板中給你的數據庫建立一個系統DSN來使你的數據庫可以在ASP中連接使用。你可以在你的本地計算機上建立若干個DSN,每個DSN對應你使用的不同的數據庫。在建立完DSN之后,你就可以在你的本地服務器上測試你的頁面了。如果你的網站是由
ISP提供服務的,并且這個ISP支持ASP,那么很有可能它就會提供一個GUI接口,來給你的數據庫創建一個DSN。
在Windows 95/98/NT中,打開控制面板(開始菜單->設置->控制面板),雙擊ODBC進入。
選擇系統DSN,點擊Add。
選擇“Microsoft Access Driver”,點擊結束。
填寫數據源名。這是你給你的數據庫起的名字,所以和一個alias是同樣的操作。
在數據庫選擇中點擊選擇按鈕,瀏覽系統中你創建的Access數據庫所存放的位置。
點擊OK
現在,新的DSN現在就會在系統DSN中顯示,并且可以在你的本地服務器上使用了。
連接數據庫
讓我們建立一個DSN-less連接,并且看看是如何連接數據庫的。當你創建一個DSN的時候,你就已經存儲了關于這個數據庫的一些信息,所以你不需要在每次需要使用一些信息的時候重復它們,這些信息如:數據庫類型、名稱、存放地點和可選性、用戶和密碼。
要創建一個DSN-less連接,你就需要提供同樣的信息。下面這個例子就顯示了如何給一個叫products的數據庫建立一個DSN-less連接:
第二行定義了數據庫的驅動和物理路徑。為了要使用一個DSN-less連接,你就需要知道實際的文件存放地點(絕對路徑)。Server.MapPath給任何一個使用主機服務的人提供了一個簡單的工作環境來查找出那些難于查到的實際訪問路徑。
如果我們已經建立了一個系統DSN,并命名為products,則連接碼應該為:
現在,數據庫就已經打開了,那么你可以做些什么呢?第一件事情當然就是閱讀數據庫中的一系列記錄,并將它們放到你的頁面中去。但是,在這之前,你需要一個recordset。
Recordset
一個recordset是存儲在特殊數據庫表上的所有信息。所以,當你打開這個recordset的時候,表中所有的行和列的內容都是可訪問的。你需要打開這個recordeset,正如你需要打開數據庫連接一樣。它們的命令是相似的:
Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open "downloadable", strConnect, 0,1,2
這個語句就創建了一個名為downloadable表的recordset(objRec),這個表在products數據庫的strConnect中定義。使用Recordset open, 我們就可以循環瀏覽這個表,并且可以將它的所有內容都顯示到屏幕上。或者,我們可以測試特定字段的內容,也可以只將我們關注的內容寫到屏幕上去。
每一列代表一個字段。所以,如果數據庫表如下所示:
Product ID
新聞熱點
疑難解答