欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP開發(fā)中數(shù)據(jù)庫文件調(diào)用的捷徑

 更新時間:2006年09月04日 00:00:00   投稿:mdxy-dxy  
本文針對ASP程序設(shè)計中最基礎(chǔ)、也是最關(guān)鍵的部分"數(shù)據(jù)庫文件的調(diào)用"進行說明,同時談?wù)凙SP程序設(shè)計中數(shù)據(jù)庫文件調(diào)用的一些技巧

ASP簡介

  ASP(Active Server Pages)是微軟于1996年推出的Web應(yīng)用程序開發(fā)技術(shù),它是一種腳本語言、ActiveX組件及HTML語言等的綜合,微軟把它描述為"一個服務(wù)器的腳本環(huán)境,在這里可以生成和運行動態(tài)的、交互的、高性能的Web服務(wù)器應(yīng)用程序"。其主要功能是為生成動態(tài)的、交互式的Web服務(wù)器應(yīng)用程序提供一種功能強大的方式或技術(shù)。其特點是命令和腳本都在服務(wù)器中解釋執(zhí)行,然后送到客戶端瀏覽器的內(nèi)容只是標準的HTML頁面。其優(yōu)點是程序設(shè)計簡單易懂,而且方便快捷。ASP在國內(nèi)的應(yīng)用已非常普遍,相當一部分的動態(tài)網(wǎng)站都運用了ASP技術(shù)。

  ASP數(shù)據(jù)庫文件的調(diào)用

  雖然不同的系統(tǒng)可能安裝不同的數(shù)據(jù)庫驅(qū)動程序,但一般的服務(wù)器系統(tǒng)都基本支持IIS4.0/5.0,所以服務(wù)器系統(tǒng)上至少會有Microsoft Access Driver、Microsoft ODBC for Oracle、SQL Server等3種數(shù)據(jù)庫驅(qū)動程序。因此,服務(wù)器系統(tǒng)至少可以使用Access、Oracle、SQL Server等3種數(shù)據(jù)庫來從事ASP網(wǎng)頁數(shù)據(jù)庫設(shè)計。由于Microsoft Access 97/2000屬于微軟的Office系列之一,且界面和Office系列軟件相似,學(xué)習(xí)起來基本沒什么障礙,因此,本文將從初學(xué)者入門的角度,使用Access數(shù)據(jù)庫文件來進行ASP程序設(shè)計。

  那么,ASP程序設(shè)計中調(diào)用該數(shù)據(jù)庫文件有兩種方式,一種為直接在"控制面板"的"數(shù)據(jù)源(ODBC)"上進行手工設(shè)置;另外一種是編程,通過相對路徑調(diào)用數(shù)據(jù)庫文件,這種方式可適用在任何一臺服務(wù)器上而不用再進行配置。第一種方式較為簡單安全,本文所談的是第二種方式。

  下面列出ASP程序設(shè)計中一般讀取數(shù)據(jù)庫文件中表記錄的方法:

<HTML><BODY> 
 <!--#include file="adovbs.inc"--> 
 <% 
  '使用ASP的Connection 對象打開數(shù)據(jù)庫,數(shù)據(jù)庫文件為上圖的<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對象 
  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 "到達數(shù)據(jù)庫的結(jié)尾,已經(jīng)顯示完所有符合條件的記錄" 
  End If 
   '關(guān)閉數(shù)據(jù)庫連接并釋放對象實例 
   ObjRS. Close 
   Set objRS=Nothing 
   ObjConn.Close 
   Set objConn=Nothing 
 %> 
</BODY></HTML>

上述代碼為ASP編程中一般打開Access數(shù)據(jù)庫文件的設(shè)計步驟。

  數(shù)據(jù)庫文件調(diào)用的技巧

  (1)事實上,無論換成哪個Access數(shù)據(jù)庫,打開數(shù)據(jù)庫連接與讀取表記錄的步驟是相同的,其中的變量在于數(shù)據(jù)庫文件的名稱及表的名稱,所以可以將上述程序的第3~13行改寫成函數(shù)的形式,并存成一個文件如:ADOFunctions.asp,日后要打開某個數(shù)據(jù)庫文件的話,就把該文件ADOFunctions.asp 裝(include)進來,代碼如下:

<% 
 Dim objConn 
 '變量Filename為數(shù)據(jù)庫文件名,變量Table Name為表名 
 Function GetRecordset(FileName,TableName) 
  '使用ASP的Connection 對象打開數(shù)據(jù)庫 
  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 
%> 

  由上述代碼可知,函數(shù)名為GetRecordSet,其返回值是存放了表記錄的Record set對象實例,存成文件名為ADOFunctions.asp?,F(xiàn)在,利用該文件就可以讀取任何數(shù)據(jù)庫文件的記錄了。如一般讀取數(shù)據(jù)庫的編程可簡化如下:

<HTML><BODY> 
<! --#Include file="adovbs.inc"--> 
<! --#include file="ADOFunctions.asp"--> 
<% 
 '調(diào)用GetRecordset函數(shù)取得一個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 "到達數(shù)據(jù)庫的結(jié)尾,已經(jīng)顯示完所有符合條件的記錄" 
 End If 
 '關(guān)閉數(shù)據(jù)庫連接并釋放對象實例 
 ObjRS. Close 
 Set objRS=Nothing 
 ObjConn.Close 
 Set objConn=Nothing 
%> 
</BODY></HTML> 

  因此,只要在這句代碼Set objRS=GetRecordset("Friend.mdb", "data")中改變數(shù)據(jù)庫名稱和表名稱就可以調(diào)用任何Access數(shù)據(jù)庫文件了,當然,要注意的是,后面的數(shù)據(jù)庫中每個表的字段名一定要匹配。

 ?。?)另外,無論換成哪個Access數(shù)據(jù)庫,打開數(shù)據(jù)庫連接與篩選表記錄的步驟也是相同的,其中的變量在于SQL語句(如:"SELECT * FROM data")、數(shù)據(jù)庫文件的名稱及表的名稱。因此同樣道理,可以將這3個變量作為函數(shù)的參數(shù),撰寫GetSQLRecordset函數(shù),并存成文件名為ADOSQLFunctions.asp,日后要用到的話,只要在程序的最前面把這個文件Include進來,就可以利用GetSQLRecordset函數(shù)打開數(shù)據(jù)庫連接,同時也進行篩選表記錄,該函數(shù)的返回值是存放了符合SQL語句的Record set對象實例。

  代碼如下:

<% 
Dim objConn 
Dim GetSQLRecordset 
Function GetSQLRecordset(strSQL,FileName,TableName) 
'使用ASP的Connection 對象打開數(shù)據(jù)庫 

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 
%> 

  上述代碼中函數(shù)名稱為:GetSQLRecordset,文件名為ADOSQLFunctions.asp。

  現(xiàn)在,利用該文件就可以調(diào)用任何Access數(shù)據(jù)庫的連接,同時對表記錄進行篩選的操作。以Friend.mdb文件為例,列出表data中所有的記錄,程序代碼如下:

  小結(jié)

<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編程中,利用好函數(shù)往往可以對我們的程序代碼簡單明了化,讀取條理也容易維護,同時也可避免大量的重復(fù)繁雜的代碼。像上述的情況,若只是簡單的與數(shù)據(jù)庫連接,則用第一種情況,將文件ADORecordset.asp 裝(include)進來就可以了,若要對數(shù)據(jù)庫中某個表的記錄進行篩選或其他SQL語句操作,則用第二種情況,將文件ADOSQLRecordset.asp裝進來就可以了。

相關(guān)文章

最新評論