引言 本文針對ASP程序設計中最基礎
也是最關鍵的部分
數據庫文件的調用
進行說明
同時談談ASP程序設計中數據庫文件調用的一些技巧
ASP簡介 ASP(Active Server Pages)是微軟於
年推出的Web應用程序開發技術
它是一種腳本語言
ActiveX組件及HTML語言等的綜合
微軟把它描述為
一個服務器的腳本環境
在這裡可以生成和運行動態的
交互的
高性能的Web服務器應用程序
其主要功能是為生成動態的
交互式的Web服務器應用程序提供一種功能強大的方式或技術
其特點是命令和腳本都在服務器中解釋執行
然後送到客戶端浏覽器的內容只是標准的HTML頁面
其優點是程序設計簡單易懂
而且方便快捷
ASP在國內的應用已非常普遍
相當一部分的動態網站都運用了ASP技術
ASP數據庫文件的調用 雖然不同的系統可能安裝不同的數據庫驅動程序
但一般的服務器系統都基本支持IIS
/
所以服務器系統上至少會有Microsoft Access Driver
Microsoft ODBC for Oracle
SQL Server等
種數據庫驅動程序
因此
服務器系統至少可以使用Access
Oracle
SQL Server等
種數據庫來從事ASP網頁數據庫設計
由於Microsoft Access
/
屬於微軟的Office系列之一
且界面和Office系列軟件相似
學習起來基本沒什麼障礙
因此
本文將從初學者入門的角度
使用Access數據庫文件來進行ASP程序設計
通過Access應用程序制作如圖
的數據庫文件(friend
mdb)
圖 那麼
ASP程序設計中調用該數據庫文件有兩種方式
一種為直接在
控制面板
的
數據源(ODBC)
上進行手工設置
另外一種是編程
通過相對路徑調用數據庫文件
這種方式可適用在任何一台服務器上而不用再進行配置
第一種方式較為簡單安全
本文所談的是第二種方式
下面列出ASP程序設計中一般讀取數據庫文件中表記錄的方法
<HTML><BODY>
<!
#include file=
adovbs
inc
>
<%
使用ASP的Connection 對象打開數據庫
數據庫文件為上圖的<Friend
mdb>
Dim objConn
Set objConn=Server
CreateObject(
ADODB
Connection
)
objConn
ConnectionString=
Provider=Microsoft
Jet
OLEDB
;
&_
Data Source=
& Server
MapPath(
Friend
mdb
)
objConn
Open
讀取
data
表的記錄
然後存放在Record set對象
Dim objRS
Set objRS=Server
CreateObject(
ADODB
Recordset
)
ObjRS
Open
data
objConn
adOpenKeyset
adLockOptimistic
adCmdTable
將目前指針所指到的記錄顯示在浏覽器上
If Not objRS
EOF then
Response
Write
編號
&objRS(
編號
)&
<BR>
Response
Write
姓名
&objRS(
姓名
)&
<BR>
Response
Write
性別
&objRS(
性別
)&
<BR>
Else
Response
Write
到達數據庫的結尾
已經顯示完所有符合條件的記錄
End If
關閉數據庫連接並釋放對象實例
ObjRS
Close
Set objRS=Nothing
ObjConn
Close
Set objConn=Nothing
%>
</BODY></HTML>
上述代碼為ASP編程中一般打開Access數據庫文件的設計步驟
數據庫文件調用的技巧 (
)事實上
無論換成哪個Access數據庫
打開數據庫連接與讀取表記錄的步驟是相同的
其中的變量在於數據庫文件的名稱及表的名稱
所以可以將上述程序的第
~
行改寫成函數的形式
並存成一個文件如
ADOFunctions
asp
日後要打開某個數據庫文件的話
就把該文件ADOFunctions
asp 裝(include)進來
代碼如下
<%
Dim objConn
變量Filename為數據庫文件名
變量Table Name為表名
Function GetRecordset(FileName
TableName)
使用ASP的Connection 對象打開數據庫
Set objConn=Server
CreateObject(
ADODB
Connection
)
objConn
ConnectionString=
Provider=Microsoft
Jet
OLEDB
;
&_
Data Source=
& Server
MapPath(
Filename
)
objConn
Open
讀取表的記錄
然後存放在Record set對象
objRS
Dim objRS
Set objRS=Server
CreateObject(
ADODB
Recordset
)
ObjRS
Open TableName
objConn
adOpenKeyset
adLockOptimistic
adCmdTable
End Function
%>
由上述代碼可知
函數名為GetRecordSet
其返回值是存放了表記錄的Record set對象實例
存成文件名為ADOFunctions
asp
現在
利用該文件就可以讀取任何數據庫文件的記錄了
如一般讀取數據庫的編程可簡化如下
<HTML><BODY>
<!
#Include file=
adovbs
inc
>
<!
#include file=
ADOFunctions
asp
>
<%
調用GetRecordset函數取得一個Record set對象實F例
然後指派給變量objRS
Dim objRS
Set objRS=GetRecordset(
Friend
mdb
data
)
將目前指針所指到的記錄顯示在浏覽器上
If Not objRS
EOF Then
Response
Write
編號
&objRS(
編號
)&
<BR>
Response
Write
姓名
&objRS(
姓名
)&
<BR>
Response
Write
性別
&objRS(
性別
)&
<BR>
Else
Response
Write
到達數據庫的結尾
已經顯示完所有符合條件的記錄
End If
關閉數據庫連接並釋放對象實例
ObjRS
Close
Set objRS=Nothing
ObjConn
Close
Set objConn=Nothing
%>
</BODY></HTML>
因此
只要在這句代碼Set objRS=GetRecordset(
Friend
mdb
data
)中改變數據庫名稱和表名稱就可以調用任何Access數據庫文件了
當然
要注意的是
後面的數據庫中每個表的字段名一定要匹配
(
)另外
無論換成哪個Access數據庫
打開數據庫連接與篩選表記錄的步驟也是相同的
其中的變量在於SQL語句(如
SELECT * FROM data
)
數據庫文件的名稱及表的名稱
因此同樣道理
可以將這
個變量作為函數的參數
撰寫GetSQLRecordset函數
並存成文件名為ADOSQLFunctions
asp
日後要用到的話
只要在程序的最前面把這個文件Include進來
就可以利用GetSQLRecordset函數打開數據庫連接
同時也進行篩選表記錄
該函數的返回值是存放了符合SQL語句的Record set對象實例
代碼如下
<%
Dim objConn
Dim GetSQLRecordset
Function GetSQLRecordset(strSQL
FileName
TableName)
使用ASP的Connection 對象打開數據庫
Set objConn=Server
CreateObject(
ADODB
Connection
)
objConn
ConnectionString=
Provider=Microsoft
Jet
OLEDB
;
&_
Data Source=
& Server
MapPath(
Filename
)
objConn
Open
從表讀取符合SQL語句的記錄並存放在Record set對象
Set GetSQLRecordset=Server
CreateObject(
ADODB
Recordset
)
GetSQLRecordset
Open_ strSQL
objConn
adOpenKeyset
adLockOptimistic
adCmdText
End Function
%>
上述代碼中函數名稱為
GetSQLRecordset
文件名為ADOSQLFunctions
asp
現在
利用該文件就可以調用任何Access數據庫的連接
同時對表記錄進行篩選的操作
以Friend
mdb文件為例
列出表data中所有的記錄
程序代碼如下
<HTML><BODY>
<!
#include file=
adovbs
inc
>
<!
#include file=
ADOSQLFunctions
asp
>
<%
Dim objRS
Set objRS=GetSQLRecordset(
SELECT 編號
姓名
性別from_ data
Friend
mdb
data
)
Do While Not objRS
EOF
Response
Write
編號
&objRS(
編號
)&
<BR>
Response
Write
姓名
&objRS(
姓名
)&
<BR>
Response
Write
性別
&objRS(
性別
)&
<BR>
Loop
objRS
Close
Set objRS=Nothing
ObjConn
Close
Set objConn=Nothing
%>
</BODY></HTML>
小結 在ASP編程中
利用好函數往往可以對我們的程序代碼簡單明了化
讀取條理也容易維護
同時也可避免大量的重復繁雜的代碼
像上述的情況
若只是簡單的與數據庫連接
則用第一種情況
將文件ADORecordset
asp 裝(include)進來就可以了
若要對數據庫中某個表的記錄進行篩選或其他SQL語句操作
則用第二種情況
將文件ADOSQLRecordset
asp裝進來就可以了
From:http://tw.wingwit.com/Article/program/net/201311/12951.html