ASP開發中資料庫檔案調用的捷徑

來源:互聯網
上載者:User
資料|資料庫 引言

  本文針對ASP程式設計中最基礎、也是最關鍵的部分"資料庫檔案的調用"進行說明,同時談談ASP程式設計中資料庫檔案調用的一些技巧。

   ASP簡介

  ASP(Active Server Pages)是微軟於1996年推出的Web應用程式開發技術,它是一種指令碼語言、ActiveX組件及HTML語言等的綜合,微軟把它描述為"一個伺服器的指令碼環境,在這裡可以產生和運行動態、互動的、高效能的Web伺服器應用程式"。其主要功能是為產生動態、互動Web伺服器應用程式提供一種功能強大的方式或技術。其特點是命令和指令碼都在伺服器中解釋執行,然後送到用戶端瀏覽器的內容只是標準的HTML頁面。其優點是程式設計簡單易懂,而且方便快捷。ASP在國內的應用已非常普遍,相當一部分的動態網站都運用了ASP技術。

   ASP資料庫檔案的調用

  雖然不同的系統可能安裝不同的資料庫驅動程式,但一般的伺服器系統都基本支援IIS4.0/5.0,所以伺服器系統上至少會有Microsoft Access Driver、Microsoft ODBC for Oracle、SQL Server等3種資料庫驅動程式。因此,伺服器系統至少可以使用Access、Oracle、SQL Server等3種資料庫來從事ASP網頁資料庫設計。由於Microsoft Access 97/2000屬於微軟的Office系列之一,且介面和Office系列軟體相似,學習起來基本沒什麼障礙,因此,本文將從初學者入門的角度,使用Access資料庫檔案來進行ASP程式設計。

  通過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。

  現在,



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.