經過Access應用程序製做如圖1的數據庫文件(friend.mdb)
圖1
那麼,
ASP程序設計中調用該數據庫文件有兩種方式,一種爲直接在"控制面板"的"數據源(ODBC)"上進行手工設置;另一種是編程,經過相對路徑調用數據庫文件,這種方式可適用在任何一臺服務器上而不用再進行配置。第一種方式較爲簡單安全,本文所談的是第二種方式。
下面列出
ASP程序設計中通常讀取數據庫文件中表記錄的方法:
01: <HTML><BODY>
02: <!--#include file="adovbs.inc"-->
03: <%
04: ’使用
ASP的Connection 對象打開數據庫,數據庫文件爲上圖的<Friend.mdb>’
05: Dim objConn
06: Set objConn=Server.CreateObject("ADODB.Connection")
07: objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" &_
08: "Data Source=" & Server.MapPath("Friend.mdb")
09: objConn.Open
10: 讀取"data"表的記錄,而後存放在Record set對象
11: Dim objRS
12: Set objRS=Server.CreateObject("ADODB.Recordset")
13: ObjRS.Open "data",objConn,adOpenKeyset,adLockOptimistic,adCmdTable
14: ’將目前指針所指到的記錄顯示在瀏覽器上
15: If Not objRS. EOF then
16: Response.Write "編號:"&objRS("編號")& "<BR>"
17: Response. Write "姓名:"&objRS("姓名")& "<BR>"
18: Response. Write "性別:"&objRS("性別")& "<BR>"
19: Else
20: Response.Write "到達數據庫的結尾,已經顯示完全部符合條件的記錄"
21: End If
22: ’關閉數據庫鏈接並釋放對象實例
23: ObjRS. Close
24: Set objRS=Nothing
25: ObjConn.Close
26: Set objConn=Nothing
27: %>
28: </BODY></HTML>
上述代碼爲
ASP編程中通常打開Access數據庫文件的設計步驟。
數據庫文件調用的技巧
(1)事實上,不管換成哪一個Access數據庫,打開數據庫鏈接與讀取表記錄的步驟是相同的,其中的變量在於數據庫文件的名稱及表的名稱,因此能夠將上述程序的第3~13行改寫成函數的形式,並存成一個文件如: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.4.0;" &_
"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數據庫文件了,固然,要注意的是,後面的數據庫中每一個表的字段名必定要匹配。
(2)另外,不管換成哪一個Access數據庫,打開數據庫鏈接與篩選表記錄的步驟也是相同的,其中的變量在於SQL語句(如:"SELECT * FROM data")、數據庫文件的名稱及表的名稱。所以一樣道理,能夠將這3個變量做爲函數的參數,撰寫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.4.0;" &_
"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裝進來就能夠了。