摘要:該文首先介紹了ASP的運(yùn)行環(huán)境,然后重點(diǎn)介紹了ASP和數(shù)據(jù)庫(kù)的兩種連接方式。
關(guān)鍵詞:ASP;connection;數(shù)據(jù)庫(kù)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)05-1031-01
Simple Analysis on Database Connection of ASP
YANG Ying-jie
(School of Computer and Communication Engineering, Weifang University, Weifang 261061, China)
Abstract: This paper firstly introduces the running environment of ASP,in the following, mainly introduces two styles of connection between ASP and database.
Key words: ASP; connection; database
1 引言
ASP(Active Server Pages)是一種流行且實(shí)用的動(dòng)態(tài)網(wǎng)站設(shè)計(jì)技術(shù)。ASP技術(shù)主要采用腳本來(lái)進(jìn)行服務(wù)器端的處理,同時(shí)可以將腳本處理的結(jié)果返回到客戶(hù)端的頁(yè)面中。目前,ASP技術(shù)中使用的腳本語(yǔ)言主要是VBScript語(yǔ)言和JavaScript語(yǔ)言。腳本語(yǔ)言和HTML語(yǔ)言結(jié)合使用,構(gòu)成了ASP的編程環(huán)境。即通過(guò)Dreamweaver,Visual InterDev,UltraEdit等軟件來(lái)編寫(xiě)HTML語(yǔ)言,然后在其中嵌入腳本語(yǔ)言。
2 ASP的運(yùn)行環(huán)境
2.1 Web服務(wù)器軟件的選擇
ASP的運(yùn)行環(huán)境主要有Windows98下的PWS(Personal Web Server)或Windows2000/XP/2003下的IIS(Internet Information Server)。
PWS適合個(gè)人用戶(hù)在Windows98下測(cè)試ASP。
IIS是Windows2000/XP/2003系統(tǒng)中內(nèi)置的一個(gè)Web服務(wù)器,其功能比PWS強(qiáng)大。使用IIS,可以方便地通過(guò)Internet發(fā)布信息。
2.2 IIS安裝過(guò)程
Window2000/XP系統(tǒng)的默認(rèn)安裝中,IIS并未安裝。因此需要手動(dòng)安裝。步驟如下:
1) 選擇“開(kāi)始”/“設(shè)置”/“控制面板”命令,打開(kāi)“控制面板”窗口。
2) 雙擊“添加或刪除程序”圖標(biāo),彈出“添加/刪除程序”對(duì)話(huà)框。單擊“添加/刪除Windows組件”按鈕,打開(kāi)“Windows組件向?qū)А睂?duì)話(huà)框。
3) 選擇“Internet信息服務(wù)(IIS)”選項(xiàng),單擊下一步按鈕,系統(tǒng)開(kāi)始安裝IIS。
4) 安裝完成后,彈出“完成‘Windows組件向?qū)А睂?duì)話(huà)框。
5) 單擊“完成”按鈕,完成IIS的安裝。
安裝完成后,系統(tǒng)會(huì)在系統(tǒng)所在驅(qū)動(dòng)器的根目錄下創(chuàng)建一個(gè)目錄Inetpub,其中wwwroot用來(lái)存放網(wǎng)頁(yè)文件。安裝后,系統(tǒng)在該目錄中存放了一些測(cè)試用的網(wǎng)頁(yè)文件。
3 ASP的數(shù)據(jù)庫(kù)連接
ASP可以連接的數(shù)據(jù)庫(kù)有Access、SQLServer、Oracle等。本文中以Access數(shù)據(jù)庫(kù)為例來(lái)說(shuō)明。在ASP中,數(shù)據(jù)庫(kù)的連接有兩種方式,一種是通過(guò)數(shù)據(jù)庫(kù)文件DSN連接數(shù)據(jù)庫(kù),另一種方式是直接連接數(shù)據(jù)庫(kù)。這兩種方式都要用到ADO的Connection對(duì)象。首先來(lái)看一下如何用第一種方式來(lái)連接數(shù)據(jù)庫(kù)。
3.1 第一種方式
通過(guò)數(shù)據(jù)庫(kù)文件DSN來(lái)連接數(shù)據(jù)庫(kù),首先要配置數(shù)據(jù)源文件DSN,建立一個(gè)系統(tǒng)DSN,例如命名為st,結(jié)果如圖1所示。
那么連接代碼如下:
<%
set conn=Server.CreateObject(“adodb.connection”)
conn.open “st”
%>
3.2第二種方式
第二種方式是可以使用連接字符串直接連接數(shù)據(jù)庫(kù)。因?yàn)樵谑褂肈SN連接數(shù)據(jù)庫(kù)時(shí),DSN中存儲(chǔ)了關(guān)于這個(gè)數(shù)據(jù)庫(kù)的信息,如數(shù)據(jù)庫(kù)類(lèi)型、名稱(chēng)、存放地點(diǎn)和可選性、用戶(hù)、密碼等。所以在使用連接字符串時(shí),字符串中也要指明這些信息。下面的代碼實(shí)現(xiàn)了一個(gè)Access數(shù)據(jù)庫(kù)book的連接。
<%
database=\"book.mdb\"
strconn=\"driver={Microsoft Access Driver (*.mdb)};DBQ=\" Server.MapPath(database)
set conn=Server.CreateObject(\"ADODB.Connection\")
conn.open strconn
%>
具體取出數(shù)據(jù)庫(kù)中的數(shù)據(jù),還需要RecordSet對(duì)象的支持。記錄集可以用來(lái)代表表中的記錄。與表相似,記錄集中也可以包含一條或多條記錄(行),每個(gè)記錄可以包含一個(gè)或多個(gè)列(字段)。在某一時(shí)刻,只有一條記錄是當(dāng)前記錄。要?jiǎng)?chuàng)建RecordSet對(duì)象的一個(gè)實(shí)例,可以使用Connection對(duì)象的Execute()方法。當(dāng)使用Execute()方法從數(shù)據(jù)庫(kù)返回查詢(xún)結(jié)果時(shí),一個(gè)RecoreSet對(duì)象會(huì)自動(dòng)被創(chuàng)建。以下代碼是從book數(shù)據(jù)庫(kù)中的一個(gè)表st中讀取數(shù)據(jù)的實(shí)例。
<%
set rs=conn.Execute(\"select * from st\")
for i=0 to rs.fields.count-1
response.write(rs.fields(i).name vbTab)
next
response.write(\"
\")
while not rs.EOf
for i=0 to rs.fields.count-1
response.write(rs.fields(i).value vbTab)
next
response.write(\"
\")
rs.moveNext
wend
rs.close
%>
4 結(jié)束語(yǔ)
任何一種編程語(yǔ)言在解決實(shí)際問(wèn)題的過(guò)程中,重要的一個(gè)環(huán)節(jié)就是與數(shù)據(jù)庫(kù)的連接。根據(jù)使用的數(shù)據(jù)庫(kù),還有考慮代碼效率等因素,選擇一種合適的數(shù)據(jù)庫(kù)連接方式很重要。本文主要說(shuō)明了用系統(tǒng)DSN方式和使用連接字符串直接連接數(shù)據(jù)庫(kù)兩種方式。
參考文獻(xiàn):
[1] 袁理.ASP完全自學(xué)手冊(cè)[M].北京:機(jī)械工業(yè)出版社,2007.