ASP簡(jiǎn)介
ASP(Active Server Pages)是微軟于1996年推出的Web應(yīng)用程序開(kāi)發(fā)技術(shù),它是一種腳本語(yǔ)言、ActiveX組件及HTML語(yǔ)言等的綜合,微軟把它描述為"一個(gè)服務(wù)器的腳本環(huán)境,在這里可以生成和運(yùn)行動(dòng)態(tài)的、交互的、高性能的Web服務(wù)器應(yīng)用程序"。其主要功能是為生成動(dòng)態(tài)的、交互式的Web服務(wù)器應(yīng)用程序提供一種功能強(qiáng)大的方式或技術(shù)。其特點(diǎn)是命令和腳本都在服務(wù)器中解釋執(zhí)行,然后送到客戶端瀏覽器的內(nèi)容只是標(biāo)準(zhǔn)的HTML頁(yè)面。其優(yōu)點(diǎn)是程序設(shè)計(jì)簡(jiǎn)單易懂,而且方便快捷。ASP在國(guó)內(nèi)的應(yīng)用已非常普遍,相當(dāng)一部分的動(dòng)態(tài)網(wǎng)站都運(yùn)用了ASP技術(shù)。
ASP數(shù)據(jù)庫(kù)文件的調(diào)用
雖然不同的系統(tǒng)可能安裝不同的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,但一般的服務(wù)器系統(tǒng)都基本支持IIS4.0/5.0,所以服務(wù)器系統(tǒng)上至少會(huì)有Microsoft Access Driver、Microsoft ODBC for Oracle、SQL Server等3種數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序。因此,服務(wù)器系統(tǒng)至少可以使用Access、Oracle、SQL Server等3種數(shù)據(jù)庫(kù)來(lái)從事ASP網(wǎng)頁(yè)數(shù)據(jù)庫(kù)設(shè)計(jì)。由于Microsoft Access 97/2000屬于微軟的Office系列之一,且界面和Office系列軟件相似,學(xué)習(xí)起來(lái)基本沒(méi)什么障礙,因此,本文將從初學(xué)者入門的角度,使用Access數(shù)據(jù)庫(kù)文件來(lái)進(jìn)行ASP程序設(shè)計(jì)。
那么,ASP程序設(shè)計(jì)中調(diào)用該數(shù)據(jù)庫(kù)文件有兩種方式,一種為直接在"控制面板"的"數(shù)據(jù)源(ODBC)"上進(jìn)行手工設(shè)置;另外一種是編程,通過(guò)相對(duì)路徑調(diào)用數(shù)據(jù)庫(kù)文件,這種方式可適用在任何一臺(tái)服務(wù)器上而不用再進(jìn)行配置。第一種方式較為簡(jiǎn)單安全,本文所談的是第二種方式。
下面列出ASP程序設(shè)計(jì)中一般讀取數(shù)據(jù)庫(kù)文件中表記錄的方法:
HTML>BODY>
!--#include file="adovbs.inc"-->
%
'使用ASP的Connection 對(duì)象打開(kāi)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)文件為上圖的Friend.mdb>'
Dim objConn
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" _
"Data Source=" Server.MapPath("Friend.mdb")
objConn.Open
讀取"data"表的記錄,然后存放在Record set對(duì)象
Dim objRS
Set objRS=Server.CreateObject("ADODB.Recordset")
ObjRS.Open "data",objConn,adOpenKeyset,adLockOptimistic,adCmdTable
'將目前指針?biāo)傅降挠涗涳@示在瀏覽器上
If Not objRS. EOF then
Response.Write "編號(hào):"objRS("編號(hào)") "BR>"
Response. Write "姓名:"objRS("姓名") "BR>"
Response. Write "性別:"objRS("性別") "BR>"
Else
Response.Write "到達(dá)數(shù)據(jù)庫(kù)的結(jié)尾,已經(jīng)顯示完所有符合條件的記錄"
End If
'關(guān)閉數(shù)據(jù)庫(kù)連接并釋放對(duì)象實(shí)例
ObjRS. Close
Set objRS=Nothing
ObjConn.Close
Set objConn=Nothing
%>
/BODY>/HTML>
上述代碼為ASP編程中一般打開(kāi)Access數(shù)據(jù)庫(kù)文件的設(shè)計(jì)步驟。
數(shù)據(jù)庫(kù)文件調(diào)用的技巧
?。?)事實(shí)上,無(wú)論換成哪個(gè)Access數(shù)據(jù)庫(kù),打開(kāi)數(shù)據(jù)庫(kù)連接與讀取表記錄的步驟是相同的,其中的變量在于數(shù)據(jù)庫(kù)文件的名稱及表的名稱,所以可以將上述程序的第3~13行改寫成函數(shù)的形式,并存成一個(gè)文件如:ADOFunctions.asp,日后要打開(kāi)某個(gè)數(shù)據(jù)庫(kù)文件的話,就把該文件ADOFunctions.asp 裝(include)進(jìn)來(lái),代碼如下:
%
Dim objConn
'變量Filename為數(shù)據(jù)庫(kù)文件名,變量Table Name為表名
Function GetRecordset(FileName,TableName)
'使用ASP的Connection 對(duì)象打開(kāi)數(shù)據(jù)庫(kù)
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" _
"Data Source=" Server.MapPath("Filename")
objConn.Open
'讀取表的記錄,然后存放在Record set對(duì)象"objRS"
Dim objRS
Set objRS=Server.CreateObject("ADODB.Recordset")
ObjRS.Open TableName,objConn,adOpenKeyset,adLockOptimistic,adCmdTable
End Function
%>
由上述代碼可知,函數(shù)名為GetRecordSet,其返回值是存放了表記錄的Record set對(duì)象實(shí)例,存成文件名為ADOFunctions.asp?,F(xiàn)在,利用該文件就可以讀取任何數(shù)據(jù)庫(kù)文件的記錄了。如一般讀取數(shù)據(jù)庫(kù)的編程可簡(jiǎn)化如下:
HTML>BODY>
! --#Include file="adovbs.inc"-->
! --#include file="ADOFunctions.asp"-->
%
'調(diào)用GetRecordset函數(shù)取得一個(gè)Record set對(duì)象實(shí)F例,然后指派給變量objRS
Dim objRS
Set objRS=GetRecordset("Friend.mdb","data")
'將目前指針?biāo)傅降挠涗涳@示在瀏覽器上
If Not objRS.EOF Then
Response.Write "編號(hào):"objRS("編號(hào)") "BR>"
Response.Write "姓名:"objRS("姓名") "BR>"
Response.Write "性別:"objRS("性別")"BR>"
Else
Response.Write "到達(dá)數(shù)據(jù)庫(kù)的結(jié)尾,已經(jīng)顯示完所有符合條件的記錄"
End If
'關(guān)閉數(shù)據(jù)庫(kù)連接并釋放對(duì)象實(shí)例
ObjRS. Close
Set objRS=Nothing
ObjConn.Close
Set objConn=Nothing
%>
/BODY>/HTML>
因此,只要在這句代碼Set objRS=GetRecordset("Friend.mdb", "data")中改變數(shù)據(jù)庫(kù)名稱和表名稱就可以調(diào)用任何Access數(shù)據(jù)庫(kù)文件了,當(dāng)然,要注意的是,后面的數(shù)據(jù)庫(kù)中每個(gè)表的字段名一定要匹配。
?。?)另外,無(wú)論換成哪個(gè)Access數(shù)據(jù)庫(kù),打開(kāi)數(shù)據(jù)庫(kù)連接與篩選表記錄的步驟也是相同的,其中的變量在于SQL語(yǔ)句(如:"SELECT * FROM data")、數(shù)據(jù)庫(kù)文件的名稱及表的名稱。因此同樣道理,可以將這3個(gè)變量作為函數(shù)的參數(shù),撰寫GetSQLRecordset函數(shù),并存成文件名為ADOSQLFunctions.asp,日后要用到的話,只要在程序的最前面把這個(gè)文件Include進(jìn)來(lái),就可以利用GetSQLRecordset函數(shù)打開(kāi)數(shù)據(jù)庫(kù)連接,同時(shí)也進(jìn)行篩選表記錄,該函數(shù)的返回值是存放了符合SQL語(yǔ)句的Record set對(duì)象實(shí)例。
代碼如下:
%
Dim objConn
Dim GetSQLRecordset
Function GetSQLRecordset(strSQL,FileName,TableName)
'使用ASP的Connection 對(duì)象打開(kāi)數(shù)據(jù)庫(kù)
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" _
"Data Source=" Server.MapPath("Filename")
objConn.Open
'從表讀取符合SQL語(yǔ)句的記錄并存放在Record set對(duì)象
Set GetSQLRecordset=Server.CreateObject("ADODB.Recordset")
GetSQLRecordset.Open_ strSQL,objConn,adOpenKeyset,adLockOptimistic,adCmdText
End Function
%>
上述代碼中函數(shù)名稱為:GetSQLRecordset,文件名為ADOSQLFunctions.asp。
現(xiàn)在,利用該文件就可以調(diào)用任何Access數(shù)據(jù)庫(kù)的連接,同時(shí)對(duì)表記錄進(jìn)行篩選的操作。以Friend.mdb文件為例,列出表data中所有的記錄,程序代碼如下:
小結(jié)
HTML>BODY>
!--#include file="adovbs.inc"-->
!--#include file="ADOSQLFunctions.asp"-->
%
Dim objRS
Set objRS=GetSQLRecordset("SELECT 編號(hào),姓名,性別from_ data","Friend.mdb","data")
Do While Not objRS.EOF
Response.Write "編號(hào):"objRS("編號(hào)")"BR>"
Response.Write "姓名:"objRS("姓名")"BR>"
Response.Write "性別:"objRS("性別")"BR>"
Loop
objRS.Close
Set objRS=Nothing
ObjConn.Close
Set objConn=Nothing
%>
/BODY>/HTML>
在ASP編程中,利用好函數(shù)往往可以對(duì)我們的程序代碼簡(jiǎn)單明了化,讀取條理也容易維護(hù),同時(shí)也可避免大量的重復(fù)繁雜的代碼。像上述的情況,若只是簡(jiǎn)單的與數(shù)據(jù)庫(kù)連接,則用第一種情況,將文件ADORecordset.asp 裝(include)進(jìn)來(lái)就可以了,若要對(duì)數(shù)據(jù)庫(kù)中某個(gè)表的記錄進(jìn)行篩選或其他SQL語(yǔ)句操作,則用第二種情況,將文件ADOSQLRecordset.asp裝進(jìn)來(lái)就可以了。
您可能感興趣的文章:- 用ASP開(kāi)發(fā)網(wǎng)頁(yè)需要牢記的注意事項(xiàng)
- ASP開(kāi)發(fā)中存儲(chǔ)過(guò)程應(yīng)用全接觸
- 動(dòng)態(tài)網(wǎng)站web開(kāi)發(fā) PHP、ASP還是ASP.NET
- ASP開(kāi)發(fā)網(wǎng)頁(yè)牢記注意事項(xiàng)
- ASP開(kāi)發(fā)中可能遇到的錯(cuò)誤信息中文說(shuō)明大全(整理收集)
- ASP存儲(chǔ)過(guò)程開(kāi)發(fā)應(yīng)用詳解
- 支付寶 接口開(kāi)發(fā)幫助(asp,php,asp.net,jsp)
- ASP 常見(jiàn)對(duì)象總結(jié)(熟悉一下利用以后的開(kāi)發(fā)使用)
- ASP開(kāi)發(fā)準(zhǔn)則是什么