明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP開(kāi)發(fā)中數(shù)據(jù)庫(kù)文件調(diào)用(2)

[摘要]數(shù)據(jù)庫(kù)文件調(diào)用的技巧  (1)事實(shí)上,無(wú)論換成哪個(gè)Access數(shù)據(jù)庫(kù),打開(kāi)數(shù)據(jù)庫(kù)連接與讀取表記錄的步驟是相同的,其中的變量在于數(shù)據(jù)庫(kù)文件的名稱及表的名稱,所以可以將上述程序的第3~13行改寫(xiě)成函數(shù)的形式,并存成一個(gè)文件如:ADOFunctions.asp,日后要打開(kāi)某個(gè)數(shù)據(jù)庫(kù)文件的話,就把該文件A...
數(shù)據(jù)庫(kù)文件調(diào)用的技巧

 。1)事實(shí)上,無(wú)論換成哪個(gè)Access數(shù)據(jù)庫(kù),打開(kāi)數(shù)據(jù)庫(kù)連接與讀取表記錄的步驟是相同的,其中的變量在于數(shù)據(jù)庫(kù)文件的名稱及表的名稱,所以可以將上述程序的第3~13行改寫(xiě)成函數(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。現(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è)表的字段名一定要匹配。

 。2)另外,無(wú)論換成哪個(gè)Access數(shù)據(jù)庫(kù),打開(kāi)數(shù)據(jù)庫(kù)連接與篩選表記錄的步驟也是相同的,其中的變量在于SQL語(yǔ)句(如:"SELECT * FROM data")、數(shù)據(jù)庫(kù)文件的名稱及表的名稱。因此同樣道理,可以將這3個(gè)變量作為函數(shù)的參數(shù),撰寫(xiě)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
%>